From 3bd945a2e6a2e8c9e5135ef0e82dacd543dd46b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=AE=B8=E8=BD=B2?= Date: Thu, 31 Aug 2023 01:42:05 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=9E=84ui=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/module-info.java | 5 +--- .../event/handler/menuBar/NewFile.java | 2 +- .../event/handler/menuBar/OpenFile.java | 2 +- .../event/handler/menuBar/RenameFile.java | 2 +- .../event/handler/menuBar/SaveFile.java | 2 +- .../jcnc/jnotepad/root/RootBorderPane.java | 23 +++++++++++++++ .../root/center/main/MainBorderPane.java | 29 +++++++++++++++++++ .../bottom/status/JNotepadStatusBox.java | 6 ++-- .../center/main}/center/tab/JNotepadTab.java | 2 +- .../main}/center/tab/JNotepadTabPane.java | 2 +- .../center/main}/top/RootTopVBox.java | 6 ++-- .../main}/top/menu/JNotepadMenuBar.java | 8 ++--- .../main}/top/tools/JNotepadToolBar.java | 2 +- .../center/main}/top/tools/ToolHBox.java | 2 +- .../java/org/jcnc/jnotepad/tool/UiUtil.java | 8 ++--- .../ui/module/LineNumberTextArea.java | 2 +- .../jnotepad/view/manager/ViewManager.java | 15 +++++----- 17 files changed, 83 insertions(+), 35 deletions(-) create mode 100644 src/main/java/org/jcnc/jnotepad/root/RootBorderPane.java create mode 100644 src/main/java/org/jcnc/jnotepad/root/center/main/MainBorderPane.java rename src/main/java/org/jcnc/jnotepad/{ui/root => root/center/main}/bottom/status/JNotepadStatusBox.java (96%) rename src/main/java/org/jcnc/jnotepad/{ui/root => root/center/main}/center/tab/JNotepadTab.java (97%) rename src/main/java/org/jcnc/jnotepad/{ui/root => root/center/main}/center/tab/JNotepadTabPane.java (97%) rename src/main/java/org/jcnc/jnotepad/{ui/root => root/center/main}/top/RootTopVBox.java (69%) rename src/main/java/org/jcnc/jnotepad/{ui/root => root/center/main}/top/menu/JNotepadMenuBar.java (97%) rename src/main/java/org/jcnc/jnotepad/{ui/root => root/center/main}/top/tools/JNotepadToolBar.java (94%) rename src/main/java/org/jcnc/jnotepad/{ui/root => root/center/main}/top/tools/ToolHBox.java (89%) diff --git a/src/main/java/module-info.java b/src/main/java/module-info.java index b867622..b3b2fc4 100644 --- a/src/main/java/module-info.java +++ b/src/main/java/module-info.java @@ -23,13 +23,10 @@ module org.jcnc.jnotepad { exports org.jcnc.jnotepad.controller.event.handler.menuBar; exports org.jcnc.jnotepad.tool; exports org.jcnc.jnotepad.Interface; - exports org.jcnc.jnotepad.ui.root.center.tab; - exports org.jcnc.jnotepad.ui.root.bottom.status; - exports org.jcnc.jnotepad.ui.root.top.menu; exports org.jcnc.jnotepad.ui.module; exports org.jcnc.jnotepad.ui.setStage; - exports org.jcnc.jnotepad.ui.root.top.tools; exports org.jcnc.jnotepad.view.manager; opens org.jcnc.jnotepad.app.config; + exports org.jcnc.jnotepad.root.center.main.bottom.status; } \ No newline at end of file diff --git a/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuBar/NewFile.java b/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuBar/NewFile.java index 7506996..a81cbc5 100644 --- a/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuBar/NewFile.java +++ b/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuBar/NewFile.java @@ -4,9 +4,9 @@ import javafx.event.ActionEvent; import javafx.event.EventHandler; import org.jcnc.jnotepad.app.i18n.UiResourceBundle; import org.jcnc.jnotepad.constants.TextConstants; +import org.jcnc.jnotepad.root.center.main.center.tab.JNotepadTab; import org.jcnc.jnotepad.tool.UiUtil; import org.jcnc.jnotepad.ui.module.LineNumberTextArea; -import org.jcnc.jnotepad.ui.root.center.tab.JNotepadTab; import org.jcnc.jnotepad.view.manager.ViewManager; diff --git a/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuBar/OpenFile.java b/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuBar/OpenFile.java index 61d75db..46655ab 100644 --- a/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuBar/OpenFile.java +++ b/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuBar/OpenFile.java @@ -6,11 +6,11 @@ import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.stage.FileChooser; import org.jcnc.jnotepad.manager.ThreadPoolManager; +import org.jcnc.jnotepad.root.center.main.center.tab.JNotepadTab; import org.jcnc.jnotepad.tool.EncodingDetector; import org.jcnc.jnotepad.tool.LogUtil; import org.jcnc.jnotepad.tool.UiUtil; import org.jcnc.jnotepad.ui.module.LineNumberTextArea; -import org.jcnc.jnotepad.ui.root.center.tab.JNotepadTab; import java.io.BufferedReader; import java.io.File; diff --git a/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuBar/RenameFile.java b/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuBar/RenameFile.java index 40fd251..cc6dea8 100644 --- a/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuBar/RenameFile.java +++ b/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuBar/RenameFile.java @@ -5,9 +5,9 @@ import javafx.event.EventHandler; import javafx.scene.control.TextField; import javafx.scene.input.KeyCode; import javafx.stage.FileChooser; +import org.jcnc.jnotepad.root.center.main.center.tab.JNotepadTab; import org.jcnc.jnotepad.tool.LogUtil; import org.jcnc.jnotepad.tool.UiUtil; -import org.jcnc.jnotepad.ui.root.center.tab.JNotepadTab; import org.slf4j.Logger; import java.io.File; diff --git a/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuBar/SaveFile.java b/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuBar/SaveFile.java index f33022f..fe9979e 100644 --- a/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuBar/SaveFile.java +++ b/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuBar/SaveFile.java @@ -4,10 +4,10 @@ import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.stage.FileChooser; import org.jcnc.jnotepad.controller.i18n.LocalizationController; +import org.jcnc.jnotepad.root.center.main.center.tab.JNotepadTab; import org.jcnc.jnotepad.tool.LogUtil; import org.jcnc.jnotepad.tool.SingletonUtil; import org.jcnc.jnotepad.tool.UiUtil; -import org.jcnc.jnotepad.ui.root.center.tab.JNotepadTab; import org.slf4j.Logger; import java.io.File; diff --git a/src/main/java/org/jcnc/jnotepad/root/RootBorderPane.java b/src/main/java/org/jcnc/jnotepad/root/RootBorderPane.java new file mode 100644 index 0000000..bdd939e --- /dev/null +++ b/src/main/java/org/jcnc/jnotepad/root/RootBorderPane.java @@ -0,0 +1,23 @@ +package org.jcnc.jnotepad.root; + +import org.jcnc.jnotepad.root.center.main.MainBorderPane; +import org.jcnc.jnotepad.ui.module.AbstractBorderPane; + +public class RootBorderPane extends AbstractBorderPane { + + private static final RootBorderPane INSTANCE = new RootBorderPane(); + + private RootBorderPane() { + initRootBorderPane(); + } + + private void initRootBorderPane() { + setCenterComponent(MainBorderPane.getInstance()); + } + + public static RootBorderPane getInstance() { + return INSTANCE; + } +} + + diff --git a/src/main/java/org/jcnc/jnotepad/root/center/main/MainBorderPane.java b/src/main/java/org/jcnc/jnotepad/root/center/main/MainBorderPane.java new file mode 100644 index 0000000..3971112 --- /dev/null +++ b/src/main/java/org/jcnc/jnotepad/root/center/main/MainBorderPane.java @@ -0,0 +1,29 @@ +package org.jcnc.jnotepad.root.center.main; + +import org.jcnc.jnotepad.root.center.main.bottom.status.JNotepadStatusBox; +import org.jcnc.jnotepad.root.center.main.center.tab.JNotepadTabPane; +import org.jcnc.jnotepad.root.center.main.top.RootTopVBox; +import org.jcnc.jnotepad.ui.module.AbstractBorderPane; + +public class MainBorderPane extends AbstractBorderPane { + + private static final MainBorderPane INSTANCE = new MainBorderPane(); + + private MainBorderPane() { + initRootBorderPane(); + } + + private void initRootBorderPane() { + this.setBottomComponent(JNotepadStatusBox.getInstance()); + + this.setCenter(JNotepadTabPane.getInstance()); + + this.setTopComponent(RootTopVBox.getInstance()); + } + + public static MainBorderPane getInstance() { + return INSTANCE; + } +} + + diff --git a/src/main/java/org/jcnc/jnotepad/ui/root/bottom/status/JNotepadStatusBox.java b/src/main/java/org/jcnc/jnotepad/root/center/main/bottom/status/JNotepadStatusBox.java similarity index 96% rename from src/main/java/org/jcnc/jnotepad/ui/root/bottom/status/JNotepadStatusBox.java rename to src/main/java/org/jcnc/jnotepad/root/center/main/bottom/status/JNotepadStatusBox.java index 6aa2502..4e0c708 100644 --- a/src/main/java/org/jcnc/jnotepad/ui/root/bottom/status/JNotepadStatusBox.java +++ b/src/main/java/org/jcnc/jnotepad/root/center/main/bottom/status/JNotepadStatusBox.java @@ -1,13 +1,13 @@ -package org.jcnc.jnotepad.ui.root.bottom.status; +package org.jcnc.jnotepad.root.center.main.bottom.status; import javafx.geometry.Insets; import javafx.scene.control.Label; import javafx.scene.control.TextArea; import org.jcnc.jnotepad.app.i18n.UiResourceBundle; import org.jcnc.jnotepad.constants.TextConstants; +import org.jcnc.jnotepad.root.center.main.center.tab.JNotepadTab; +import org.jcnc.jnotepad.root.center.main.center.tab.JNotepadTabPane; import org.jcnc.jnotepad.ui.module.AbstractHBox; -import org.jcnc.jnotepad.ui.root.center.tab.JNotepadTab; -import org.jcnc.jnotepad.ui.root.center.tab.JNotepadTabPane; import java.nio.charset.Charset; diff --git a/src/main/java/org/jcnc/jnotepad/ui/root/center/tab/JNotepadTab.java b/src/main/java/org/jcnc/jnotepad/root/center/main/center/tab/JNotepadTab.java similarity index 97% rename from src/main/java/org/jcnc/jnotepad/ui/root/center/tab/JNotepadTab.java rename to src/main/java/org/jcnc/jnotepad/root/center/main/center/tab/JNotepadTab.java index 700be3a..14dee97 100644 --- a/src/main/java/org/jcnc/jnotepad/ui/root/center/tab/JNotepadTab.java +++ b/src/main/java/org/jcnc/jnotepad/root/center/main/center/tab/JNotepadTab.java @@ -1,4 +1,4 @@ -package org.jcnc.jnotepad.ui.root.center.tab; +package org.jcnc.jnotepad.root.center.main.center.tab; import javafx.scene.control.Tab; import org.jcnc.jnotepad.controller.config.AppConfigController; diff --git a/src/main/java/org/jcnc/jnotepad/ui/root/center/tab/JNotepadTabPane.java b/src/main/java/org/jcnc/jnotepad/root/center/main/center/tab/JNotepadTabPane.java similarity index 97% rename from src/main/java/org/jcnc/jnotepad/ui/root/center/tab/JNotepadTabPane.java rename to src/main/java/org/jcnc/jnotepad/root/center/main/center/tab/JNotepadTabPane.java index dcd1398..40c096b 100644 --- a/src/main/java/org/jcnc/jnotepad/ui/root/center/tab/JNotepadTabPane.java +++ b/src/main/java/org/jcnc/jnotepad/root/center/main/center/tab/JNotepadTabPane.java @@ -1,4 +1,4 @@ -package org.jcnc.jnotepad.ui.root.center.tab; +package org.jcnc.jnotepad.root.center.main.center.tab; import javafx.scene.control.TabPane; import org.jcnc.jnotepad.controller.config.AppConfigController; diff --git a/src/main/java/org/jcnc/jnotepad/ui/root/top/RootTopVBox.java b/src/main/java/org/jcnc/jnotepad/root/center/main/top/RootTopVBox.java similarity index 69% rename from src/main/java/org/jcnc/jnotepad/ui/root/top/RootTopVBox.java rename to src/main/java/org/jcnc/jnotepad/root/center/main/top/RootTopVBox.java index bae5279..a4b01ed 100644 --- a/src/main/java/org/jcnc/jnotepad/ui/root/top/RootTopVBox.java +++ b/src/main/java/org/jcnc/jnotepad/root/center/main/top/RootTopVBox.java @@ -1,8 +1,8 @@ -package org.jcnc.jnotepad.ui.root.top; +package org.jcnc.jnotepad.root.center.main.top; import javafx.scene.layout.VBox; -import org.jcnc.jnotepad.ui.root.top.menu.JNotepadMenuBar; -import org.jcnc.jnotepad.ui.root.top.tools.ToolHBox; +import org.jcnc.jnotepad.root.center.main.top.menu.JNotepadMenuBar; +import org.jcnc.jnotepad.root.center.main.top.tools.ToolHBox; public class RootTopVBox extends VBox { private static final RootTopVBox INSTANCE = new RootTopVBox(); diff --git a/src/main/java/org/jcnc/jnotepad/ui/root/top/menu/JNotepadMenuBar.java b/src/main/java/org/jcnc/jnotepad/root/center/main/top/menu/JNotepadMenuBar.java similarity index 97% rename from src/main/java/org/jcnc/jnotepad/ui/root/top/menu/JNotepadMenuBar.java rename to src/main/java/org/jcnc/jnotepad/root/center/main/top/menu/JNotepadMenuBar.java index 404639d..9b27637 100644 --- a/src/main/java/org/jcnc/jnotepad/ui/root/top/menu/JNotepadMenuBar.java +++ b/src/main/java/org/jcnc/jnotepad/root/center/main/top/menu/JNotepadMenuBar.java @@ -1,4 +1,4 @@ -package org.jcnc.jnotepad.ui.root.top.menu; +package org.jcnc.jnotepad.root.center.main.top.menu; import javafx.event.ActionEvent; import javafx.scene.control.*; @@ -10,10 +10,10 @@ import org.jcnc.jnotepad.controller.config.AppConfigController; import org.jcnc.jnotepad.controller.event.handler.menuBar.*; import org.jcnc.jnotepad.controller.event.handler.tool.SetBtn; import org.jcnc.jnotepad.controller.i18n.LocalizationController; +import org.jcnc.jnotepad.root.center.main.center.tab.JNotepadTab; +import org.jcnc.jnotepad.root.center.main.center.tab.JNotepadTabPane; +import org.jcnc.jnotepad.root.center.main.top.tools.JNotepadToolBar; import org.jcnc.jnotepad.tool.LogUtil; -import org.jcnc.jnotepad.ui.root.center.tab.JNotepadTab; -import org.jcnc.jnotepad.ui.root.center.tab.JNotepadTabPane; -import org.jcnc.jnotepad.ui.root.top.tools.JNotepadToolBar; import org.slf4j.Logger; import java.util.*; diff --git a/src/main/java/org/jcnc/jnotepad/ui/root/top/tools/JNotepadToolBar.java b/src/main/java/org/jcnc/jnotepad/root/center/main/top/tools/JNotepadToolBar.java similarity index 94% rename from src/main/java/org/jcnc/jnotepad/ui/root/top/tools/JNotepadToolBar.java rename to src/main/java/org/jcnc/jnotepad/root/center/main/top/tools/JNotepadToolBar.java index e84d498..1f63cab 100644 --- a/src/main/java/org/jcnc/jnotepad/ui/root/top/tools/JNotepadToolBar.java +++ b/src/main/java/org/jcnc/jnotepad/root/center/main/top/tools/JNotepadToolBar.java @@ -1,4 +1,4 @@ -package org.jcnc.jnotepad.ui.root.top.tools; +package org.jcnc.jnotepad.root.center.main.top.tools; import javafx.scene.control.Button; import javafx.scene.control.ToolBar; diff --git a/src/main/java/org/jcnc/jnotepad/ui/root/top/tools/ToolHBox.java b/src/main/java/org/jcnc/jnotepad/root/center/main/top/tools/ToolHBox.java similarity index 89% rename from src/main/java/org/jcnc/jnotepad/ui/root/top/tools/ToolHBox.java rename to src/main/java/org/jcnc/jnotepad/root/center/main/top/tools/ToolHBox.java index 6a6c238..364d959 100644 --- a/src/main/java/org/jcnc/jnotepad/ui/root/top/tools/ToolHBox.java +++ b/src/main/java/org/jcnc/jnotepad/root/center/main/top/tools/ToolHBox.java @@ -1,4 +1,4 @@ -package org.jcnc.jnotepad.ui.root.top.tools; +package org.jcnc.jnotepad.root.center.main.top.tools; import javafx.scene.layout.HBox; import javafx.scene.layout.Priority; diff --git a/src/main/java/org/jcnc/jnotepad/tool/UiUtil.java b/src/main/java/org/jcnc/jnotepad/tool/UiUtil.java index 5bffe22..fef4518 100644 --- a/src/main/java/org/jcnc/jnotepad/tool/UiUtil.java +++ b/src/main/java/org/jcnc/jnotepad/tool/UiUtil.java @@ -3,10 +3,10 @@ package org.jcnc.jnotepad.tool; import javafx.scene.image.Image; import javafx.stage.Window; import org.jcnc.jnotepad.constants.AppConstants; -import org.jcnc.jnotepad.ui.root.bottom.status.JNotepadStatusBox; -import org.jcnc.jnotepad.ui.root.center.tab.JNotepadTab; -import org.jcnc.jnotepad.ui.root.center.tab.JNotepadTabPane; -import org.jcnc.jnotepad.ui.root.top.menu.JNotepadMenuBar; +import org.jcnc.jnotepad.root.center.main.bottom.status.JNotepadStatusBox; +import org.jcnc.jnotepad.root.center.main.center.tab.JNotepadTab; +import org.jcnc.jnotepad.root.center.main.center.tab.JNotepadTabPane; +import org.jcnc.jnotepad.root.center.main.top.menu.JNotepadMenuBar; import org.jcnc.jnotepad.ui.setStage.SetStage; import org.jcnc.jnotepad.view.manager.ViewManager; diff --git a/src/main/java/org/jcnc/jnotepad/ui/module/LineNumberTextArea.java b/src/main/java/org/jcnc/jnotepad/ui/module/LineNumberTextArea.java index 81ee991..cfe2d63 100644 --- a/src/main/java/org/jcnc/jnotepad/ui/module/LineNumberTextArea.java +++ b/src/main/java/org/jcnc/jnotepad/ui/module/LineNumberTextArea.java @@ -3,10 +3,10 @@ package org.jcnc.jnotepad.ui.module; import javafx.beans.property.StringProperty; import javafx.scene.control.TextArea; import javafx.scene.layout.BorderPane; +import org.jcnc.jnotepad.root.center.main.center.tab.JNotepadTab; import org.jcnc.jnotepad.tool.LogUtil; import org.jcnc.jnotepad.tool.SingletonUtil; import org.jcnc.jnotepad.tool.UiUtil; -import org.jcnc.jnotepad.ui.root.center.tab.JNotepadTab; import org.slf4j.Logger; import java.io.BufferedWriter; 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 3d25a34..1f19345 100644 --- a/src/main/java/org/jcnc/jnotepad/view/manager/ViewManager.java +++ b/src/main/java/org/jcnc/jnotepad/view/manager/ViewManager.java @@ -3,9 +3,7 @@ package org.jcnc.jnotepad.view.manager; import javafx.scene.Scene; import javafx.scene.layout.BorderPane; import org.jcnc.jnotepad.exception.AppException; -import org.jcnc.jnotepad.ui.root.bottom.status.JNotepadStatusBox; -import org.jcnc.jnotepad.ui.root.center.tab.JNotepadTabPane; -import org.jcnc.jnotepad.ui.root.top.RootTopVBox; +import org.jcnc.jnotepad.root.center.main.MainBorderPane; /** @@ -76,12 +74,13 @@ public class ViewManager { // 创建主界面布局 root = new BorderPane(); + root.setCenter(MainBorderPane.getInstance()); - root.setTop(RootTopVBox.getInstance()); - - // 创建标签页和文本编辑区域 - root.setCenter(JNotepadTabPane.getInstance()); - root.setBottom(JNotepadStatusBox.getInstance()); +// root.setTop(RootTopVBox.getInstance()); +// +// // 创建标签页和文本编辑区域 +// root.setCenter(JNotepadTabPane.getInstance()); +// root.setBottom(JNotepadStatusBox.getInstance()); scene.setRoot(root); }