diff --git a/.idea/encodings.xml b/.idea/encodings.xml
index bb4e41f..36e5495 100644
--- a/.idea/encodings.xml
+++ b/.idea/encodings.xml
@@ -4,6 +4,8 @@
+
+
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 6aeef25..da97427 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -1,11 +1,18 @@
+
+
+
+
+
+
diff --git a/pom.xml b/pom.xml
index f1b4d35..46dc8f8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -8,7 +8,7 @@
JNotepad
1.0-SNAPSHOT
JNotepad
-
+z
UTF-8
5.9.2
diff --git a/src/main/java/org/jcnc/jnotepad/LunchApp.java b/src/main/java/org/jcnc/jnotepad/LunchApp.java
index ae69d09..47bd934 100644
--- a/src/main/java/org/jcnc/jnotepad/LunchApp.java
+++ b/src/main/java/org/jcnc/jnotepad/LunchApp.java
@@ -11,6 +11,7 @@ import javafx.scene.layout.Pane;
import javafx.stage.Stage;
import org.jcnc.jnotepad.constants.Constants;
import org.jcnc.jnotepad.controller.manager.Controller;
+import org.jcnc.jnotepad.view.init.View;
import org.jcnc.jnotepad.view.manager.ViewManager;
import java.util.List;
@@ -18,18 +19,19 @@ import java.util.Objects;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
-import static org.jcnc.jnotepad.view.init.View.initItem;
-import static org.jcnc.jnotepad.view.init.View.initTabPane;
-
public class LunchApp extends Application {
private static final ExecutorService threadPool = Executors.newCachedThreadPool();
public static boolean isRelevance = true;
Controller controller = new Controller();
+ View view;
+
+
@Override
public void start(Stage primaryStage) {
+ view =new View();
Pane root = new Pane();
@@ -53,8 +55,8 @@ public class LunchApp extends Application {
viewManager.initScreen(scene);
// 初始化菜单项和标签栏
- initItem();
- initTabPane();
+ view.initItem();
+ view.initTabPane();
if (isRelevance) {
// 使用线程池加载关联文件并创建文本区域
diff --git a/src/main/java/org/jcnc/jnotepad/view/init/View.java b/src/main/java/org/jcnc/jnotepad/view/init/View.java
index 37a2a53..ae9feaf 100644
--- a/src/main/java/org/jcnc/jnotepad/view/init/View.java
+++ b/src/main/java/org/jcnc/jnotepad/view/init/View.java
@@ -8,7 +8,8 @@ import static org.jcnc.jnotepad.view.manager.ViewManager.*;
public class View {
- public static void initItem() {
+
+ public void initItem() {
// 初始化菜单项的事件处理器
newItem.setOnAction(new Controller().getNewFileEventHandler(new TextArea()));
openItem.setOnAction(new Controller().getOpenFileEventHandler());
@@ -17,7 +18,10 @@ public class View {
}
- public static void initTabPane() {
+ public void initTabPane() {
new Controller().initTabPane();
}
+
+
+
}
diff --git a/src/main/java/org/jcnc/jnotepad/view/manager/ViewManager.java b/src/main/java/org/jcnc/jnotepad/view/manager/ViewManager.java
index cf003ef..85aaf1d 100644
--- a/src/main/java/org/jcnc/jnotepad/view/manager/ViewManager.java
+++ b/src/main/java/org/jcnc/jnotepad/view/manager/ViewManager.java
@@ -19,10 +19,10 @@ public class ViewManager {
// 菜单栏组件
public static MenuBar menuBar; //菜单栏
- public static Menu fileMenu, setMenu; //文件菜单
- public static MenuItem newItem, openItem, saveAsItem; //新建/打开/保存/保存至 菜单
+ public static Menu fileMenu, setMenu, pluginMenu; //文件菜单//设置菜单//插件菜单 菜单
+ public static MenuItem newItem, openItem, saveAsItem, addItem, coutItem; //新建/打开/保存/保存至//增加//查看 菜单按钮
- public static CheckMenuItem lineFeedItem;
+ public static CheckMenuItem lineFeedItem; //自动换行点击菜单按钮
// 主界面布局
public static BorderPane root; //主布局
@@ -65,17 +65,31 @@ public class ViewManager {
public void initScreen(Scene scene) {
// 创建菜单栏并添加菜单项
menuBar = new MenuBar();
+
+ //文件菜单
fileMenu = new Menu("文件");
- setMenu = new Menu("设置");
newItem = new MenuItem("新建");
openItem = new MenuItem("打开");
saveAsItem = new MenuItem("另存为");
+
+ fileMenu.getItems().addAll(newItem, openItem, saveAsItem);
+
+ //设置菜单
+ setMenu = new Menu("设置");
lineFeedItem = new CheckMenuItem("自动换行");
lineFeedItem.selectedProperty().set(true);
- fileMenu.getItems().addAll(newItem, openItem, saveAsItem);
- setMenu.getItems().add(lineFeedItem);
- menuBar.getMenus().addAll(fileMenu, setMenu);
+ setMenu.getItems().addAll(lineFeedItem);
+
+ //插件菜单
+ pluginMenu = new Menu("插件");
+ addItem = new MenuItem("增加插件");
+ coutItem = new MenuItem("统计字数");
+
+ pluginMenu.getItems().addAll(addItem, coutItem);
+
+ //菜单栏
+ menuBar.getMenus().addAll(fileMenu, setMenu, pluginMenu);
// 创建主界面布局
root = new BorderPane();