From 18799d0c2f1cad192332cb4b101deaa4adc56b84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=AE=B8=E8=BD=B2?= Date: Thu, 17 Aug 2023 00:54:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=E9=9D=99=E6=80=81=E8=B0=83?= =?UTF-8?q?=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/encodings.xml | 2 ++ .idea/misc.xml | 7 +++++ pom.xml | 2 +- src/main/java/org/jcnc/jnotepad/LunchApp.java | 12 ++++---- .../org/jcnc/jnotepad/view/init/View.java | 8 ++++-- .../jnotepad/view/manager/ViewManager.java | 28 ++++++++++++++----- 6 files changed, 44 insertions(+), 15 deletions(-) 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();