From dec919346925fd339ec823abafe58552836523d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=AE=B8=E8=BD=B2?= Date: Thu, 31 Aug 2023 01:56:50 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BE=A7=E8=BE=B9=E6=A0=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jcnc/jnotepad/root/RootBorderPane.java | 8 +++++++ .../root/bottom/RootBottomSideBarVBox.java | 22 +++++++++++++++++++ .../root/center/main/MainBorderPane.java | 4 ++-- .../{RootTopVBox.java => MainTopVBox.java} | 8 +++---- .../left/sidebar/RootLeftSideBarVBox.java | 22 +++++++++++++++++++ .../root/right/RootRightSideBarVBox.java | 22 +++++++++++++++++++ .../jnotepad/root/top/RootTopSideBarVBox.java | 22 +++++++++++++++++++ .../jnotepad/view/manager/ViewManager.java | 10 ++------- 8 files changed, 104 insertions(+), 14 deletions(-) create mode 100644 src/main/java/org/jcnc/jnotepad/root/bottom/RootBottomSideBarVBox.java rename src/main/java/org/jcnc/jnotepad/root/center/main/top/{RootTopVBox.java => MainTopVBox.java} (69%) create mode 100644 src/main/java/org/jcnc/jnotepad/root/left/sidebar/RootLeftSideBarVBox.java create mode 100644 src/main/java/org/jcnc/jnotepad/root/right/RootRightSideBarVBox.java create mode 100644 src/main/java/org/jcnc/jnotepad/root/top/RootTopSideBarVBox.java diff --git a/src/main/java/org/jcnc/jnotepad/root/RootBorderPane.java b/src/main/java/org/jcnc/jnotepad/root/RootBorderPane.java index bdd939e..4be8100 100644 --- a/src/main/java/org/jcnc/jnotepad/root/RootBorderPane.java +++ b/src/main/java/org/jcnc/jnotepad/root/RootBorderPane.java @@ -1,6 +1,10 @@ package org.jcnc.jnotepad.root; +import org.jcnc.jnotepad.root.bottom.RootBottomSideBarVBox; import org.jcnc.jnotepad.root.center.main.MainBorderPane; +import org.jcnc.jnotepad.root.left.sidebar.RootLeftSideBarVBox; +import org.jcnc.jnotepad.root.right.RootRightSideBarVBox; +import org.jcnc.jnotepad.root.top.RootTopSideBarVBox; import org.jcnc.jnotepad.ui.module.AbstractBorderPane; public class RootBorderPane extends AbstractBorderPane { @@ -13,6 +17,10 @@ public class RootBorderPane extends AbstractBorderPane { private void initRootBorderPane() { setCenterComponent(MainBorderPane.getInstance()); + setLeftComponent(RootLeftSideBarVBox.getInstance()); + setRightComponent(RootRightSideBarVBox.getInstance()); + setTopComponent(RootTopSideBarVBox.getInstance()); + setBottomComponent(RootBottomSideBarVBox.getInstance()); } public static RootBorderPane getInstance() { diff --git a/src/main/java/org/jcnc/jnotepad/root/bottom/RootBottomSideBarVBox.java b/src/main/java/org/jcnc/jnotepad/root/bottom/RootBottomSideBarVBox.java new file mode 100644 index 0000000..60ba7f4 --- /dev/null +++ b/src/main/java/org/jcnc/jnotepad/root/bottom/RootBottomSideBarVBox.java @@ -0,0 +1,22 @@ +package org.jcnc.jnotepad.root.bottom; + +import javafx.geometry.Insets; +import org.jcnc.jnotepad.ui.module.AbstractVBox; + +public class RootBottomSideBarVBox extends AbstractVBox { + + private static final RootBottomSideBarVBox INSTANCE = new RootBottomSideBarVBox(); + + private RootBottomSideBarVBox() { + initSidebarVBox(); + } + + private void initSidebarVBox() { + setPadding(new Insets(10)); + setSpacing(10); + } + + public static RootBottomSideBarVBox 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 index 3971112..4dadde6 100644 --- a/src/main/java/org/jcnc/jnotepad/root/center/main/MainBorderPane.java +++ b/src/main/java/org/jcnc/jnotepad/root/center/main/MainBorderPane.java @@ -2,7 +2,7 @@ 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.root.center.main.top.MainTopVBox; import org.jcnc.jnotepad.ui.module.AbstractBorderPane; public class MainBorderPane extends AbstractBorderPane { @@ -18,7 +18,7 @@ public class MainBorderPane extends AbstractBorderPane { this.setCenter(JNotepadTabPane.getInstance()); - this.setTopComponent(RootTopVBox.getInstance()); + this.setTopComponent(MainTopVBox.getInstance()); } public static MainBorderPane getInstance() { diff --git a/src/main/java/org/jcnc/jnotepad/root/center/main/top/RootTopVBox.java b/src/main/java/org/jcnc/jnotepad/root/center/main/top/MainTopVBox.java similarity index 69% rename from src/main/java/org/jcnc/jnotepad/root/center/main/top/RootTopVBox.java rename to src/main/java/org/jcnc/jnotepad/root/center/main/top/MainTopVBox.java index a4b01ed..0238371 100644 --- a/src/main/java/org/jcnc/jnotepad/root/center/main/top/RootTopVBox.java +++ b/src/main/java/org/jcnc/jnotepad/root/center/main/top/MainTopVBox.java @@ -4,16 +4,16 @@ import javafx.scene.layout.VBox; 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(); +public class MainTopVBox extends VBox { + private static final MainTopVBox INSTANCE = new MainTopVBox(); - private RootTopVBox() { + private MainTopVBox() { // 在构造函数中初始化 getChildren().add(JNotepadMenuBar.getInstance()); getChildren().add(ToolHBox.getInstance()); } - public static RootTopVBox getInstance() { + public static MainTopVBox getInstance() { return INSTANCE; } diff --git a/src/main/java/org/jcnc/jnotepad/root/left/sidebar/RootLeftSideBarVBox.java b/src/main/java/org/jcnc/jnotepad/root/left/sidebar/RootLeftSideBarVBox.java new file mode 100644 index 0000000..89da1ae --- /dev/null +++ b/src/main/java/org/jcnc/jnotepad/root/left/sidebar/RootLeftSideBarVBox.java @@ -0,0 +1,22 @@ +package org.jcnc.jnotepad.root.left.sidebar; + +import javafx.geometry.Insets; +import org.jcnc.jnotepad.ui.module.AbstractVBox; + +public class RootLeftSideBarVBox extends AbstractVBox { + + private static final RootLeftSideBarVBox INSTANCE = new RootLeftSideBarVBox(); + + private RootLeftSideBarVBox() { + initSidebarVBox(); + } + + private void initSidebarVBox() { + setPadding(new Insets(10)); + setSpacing(10); + } + + public static RootLeftSideBarVBox getInstance() { + return INSTANCE; + } +} diff --git a/src/main/java/org/jcnc/jnotepad/root/right/RootRightSideBarVBox.java b/src/main/java/org/jcnc/jnotepad/root/right/RootRightSideBarVBox.java new file mode 100644 index 0000000..f4d2782 --- /dev/null +++ b/src/main/java/org/jcnc/jnotepad/root/right/RootRightSideBarVBox.java @@ -0,0 +1,22 @@ +package org.jcnc.jnotepad.root.right; + +import javafx.geometry.Insets; +import org.jcnc.jnotepad.ui.module.AbstractVBox; + +public class RootRightSideBarVBox extends AbstractVBox { + + private static final RootRightSideBarVBox INSTANCE = new RootRightSideBarVBox(); + + private RootRightSideBarVBox() { + initSidebarVBox(); + } + + private void initSidebarVBox() { + setPadding(new Insets(10)); + setSpacing(10); + } + + public static RootRightSideBarVBox getInstance() { + return INSTANCE; + } +} diff --git a/src/main/java/org/jcnc/jnotepad/root/top/RootTopSideBarVBox.java b/src/main/java/org/jcnc/jnotepad/root/top/RootTopSideBarVBox.java new file mode 100644 index 0000000..c7ae955 --- /dev/null +++ b/src/main/java/org/jcnc/jnotepad/root/top/RootTopSideBarVBox.java @@ -0,0 +1,22 @@ +package org.jcnc.jnotepad.root.top; + +import javafx.geometry.Insets; +import org.jcnc.jnotepad.ui.module.AbstractVBox; + +public class RootTopSideBarVBox extends AbstractVBox { + + private static final RootTopSideBarVBox INSTANCE = new RootTopSideBarVBox(); + + private RootTopSideBarVBox() { + initSidebarVBox(); + } + + private void initSidebarVBox() { + setPadding(new Insets(10)); + setSpacing(10); + } + + public static RootTopSideBarVBox getInstance() { + return INSTANCE; + } +} 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 1f19345..bf597ee 100644 --- a/src/main/java/org/jcnc/jnotepad/view/manager/ViewManager.java +++ b/src/main/java/org/jcnc/jnotepad/view/manager/ViewManager.java @@ -3,7 +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.root.center.main.MainBorderPane; +import org.jcnc.jnotepad.root.RootBorderPane; /** @@ -74,13 +74,7 @@ public class ViewManager { // 创建主界面布局 root = new BorderPane(); - root.setCenter(MainBorderPane.getInstance()); - -// root.setTop(RootTopVBox.getInstance()); -// -// // 创建标签页和文本编辑区域 -// root.setCenter(JNotepadTabPane.getInstance()); -// root.setBottom(JNotepadStatusBox.getInstance()); + root.setCenter(RootBorderPane.getInstance()); scene.setRoot(root); }