diff --git a/src/main/java/module-info.java b/src/main/java/module-info.java index fc04115..9d88868 100644 --- a/src/main/java/module-info.java +++ b/src/main/java/module-info.java @@ -16,14 +16,16 @@ module org.jcnc.jnotepad { exports org.jcnc.jnotepad; exports org.jcnc.jnotepad.tool; exports org.jcnc.jnotepad.Interface; - exports org.jcnc.jnotepad.controller.event.handler; exports org.jcnc.jnotepad.controller.manager; exports org.jcnc.jnotepad.view.manager; exports org.jcnc.jnotepad.constants; - exports org.jcnc.jnotepad.ui; exports org.jcnc.jnotepad.controller.i18n; - exports org.jcnc.jnotepad.ui.tab; - exports org.jcnc.jnotepad.ui.status; - exports org.jcnc.jnotepad.ui.menu; + exports org.jcnc.jnotepad.ui.root.center.tab; + exports org.jcnc.jnotepad.ui.root.bottom.status; + exports org.jcnc.jnotepad.ui.root.top.menu; opens org.jcnc.jnotepad.app.config; + exports org.jcnc.jnotepad.ui.module; + exports org.jcnc.jnotepad.ui.root.top.tools; + exports org.jcnc.jnotepad.controller.event.handler.tool; + exports org.jcnc.jnotepad.controller.event.handler.menuBar; } \ No newline at end of file diff --git a/src/main/java/org/jcnc/jnotepad/Interface/BorderPaneAble.java b/src/main/java/org/jcnc/jnotepad/Interface/BorderPaneAble.java new file mode 100644 index 0000000..2e0162b --- /dev/null +++ b/src/main/java/org/jcnc/jnotepad/Interface/BorderPaneAble.java @@ -0,0 +1,19 @@ +package org.jcnc.jnotepad.Interface; + +import javafx.scene.Node; + + +public interface BorderPaneAble { + + void setTopComponent(Node node); + + void setBottomComponent(Node node); + + void setLeftComponent(Node node); + + void setRightComponent(Node node); + + void setCenterComponent(Node node); + + +} diff --git a/src/main/java/org/jcnc/jnotepad/Interface/ControllerInterface.java b/src/main/java/org/jcnc/jnotepad/Interface/ControllerAble.java similarity index 92% rename from src/main/java/org/jcnc/jnotepad/Interface/ControllerInterface.java rename to src/main/java/org/jcnc/jnotepad/Interface/ControllerAble.java index 004d939..af551b8 100644 --- a/src/main/java/org/jcnc/jnotepad/Interface/ControllerInterface.java +++ b/src/main/java/org/jcnc/jnotepad/Interface/ControllerAble.java @@ -7,7 +7,7 @@ import java.util.List; * * @author 许轲 */ -public interface ControllerInterface { +public interface ControllerAble { /** * 打开关联文件并创建 TextArea diff --git a/src/main/java/org/jcnc/jnotepad/Interface/HBoxAble.java b/src/main/java/org/jcnc/jnotepad/Interface/HBoxAble.java new file mode 100644 index 0000000..8bdf62b --- /dev/null +++ b/src/main/java/org/jcnc/jnotepad/Interface/HBoxAble.java @@ -0,0 +1,12 @@ +package org.jcnc.jnotepad.Interface; + +import javafx.scene.Node; +import javafx.scene.layout.HBox; + +public interface HBoxAble { + + void addChild(Node node); + + void addChild(Node... nodes); + HBox getHBox(); +} diff --git a/src/main/java/org/jcnc/jnotepad/Interface/VBoxAble.java b/src/main/java/org/jcnc/jnotepad/Interface/VBoxAble.java new file mode 100644 index 0000000..0d94912 --- /dev/null +++ b/src/main/java/org/jcnc/jnotepad/Interface/VBoxAble.java @@ -0,0 +1,13 @@ +package org.jcnc.jnotepad.Interface; + +import javafx.scene.Node; +import javafx.scene.layout.HBox; +import javafx.scene.layout.VBox; + +public interface VBoxAble { + void addChild(Node node); + + void addChild(Node... nodes); + + VBox getVBox(); +} diff --git a/src/main/java/org/jcnc/jnotepad/controller/event/handler/NewFile.java b/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuBar/NewFile.java similarity index 89% rename from src/main/java/org/jcnc/jnotepad/controller/event/handler/NewFile.java rename to src/main/java/org/jcnc/jnotepad/controller/event/handler/menuBar/NewFile.java index e0cee15..b4de320 100644 --- a/src/main/java/org/jcnc/jnotepad/controller/event/handler/NewFile.java +++ b/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuBar/NewFile.java @@ -1,12 +1,12 @@ -package org.jcnc.jnotepad.controller.event.handler; +package org.jcnc.jnotepad.controller.event.handler.menuBar; 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.tool.UiUtil; -import org.jcnc.jnotepad.ui.LineNumberTextArea; -import org.jcnc.jnotepad.ui.tab.JNotepadTab; +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/OpenConfig.java b/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuBar/OpenConfig.java similarity index 91% rename from src/main/java/org/jcnc/jnotepad/controller/event/handler/OpenConfig.java rename to src/main/java/org/jcnc/jnotepad/controller/event/handler/menuBar/OpenConfig.java index e159683..ec2e9e5 100644 --- a/src/main/java/org/jcnc/jnotepad/controller/event/handler/OpenConfig.java +++ b/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuBar/OpenConfig.java @@ -1,4 +1,4 @@ -package org.jcnc.jnotepad.controller.event.handler; +package org.jcnc.jnotepad.controller.event.handler.menuBar; import javafx.event.ActionEvent; import org.jcnc.jnotepad.controller.config.AppConfigController; diff --git a/src/main/java/org/jcnc/jnotepad/controller/event/handler/OpenFile.java b/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuBar/OpenFile.java similarity index 95% rename from src/main/java/org/jcnc/jnotepad/controller/event/handler/OpenFile.java rename to src/main/java/org/jcnc/jnotepad/controller/event/handler/menuBar/OpenFile.java index 68343e8..61d75db 100644 --- a/src/main/java/org/jcnc/jnotepad/controller/event/handler/OpenFile.java +++ b/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuBar/OpenFile.java @@ -1,4 +1,4 @@ -package org.jcnc.jnotepad.controller.event.handler; +package org.jcnc.jnotepad.controller.event.handler.menuBar; import javafx.application.Platform; import javafx.concurrent.Task; @@ -9,8 +9,8 @@ import org.jcnc.jnotepad.manager.ThreadPoolManager; import org.jcnc.jnotepad.tool.EncodingDetector; import org.jcnc.jnotepad.tool.LogUtil; import org.jcnc.jnotepad.tool.UiUtil; -import org.jcnc.jnotepad.ui.LineNumberTextArea; -import org.jcnc.jnotepad.ui.tab.JNotepadTab; +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/RenameFile.java b/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuBar/RenameFile.java similarity index 96% rename from src/main/java/org/jcnc/jnotepad/controller/event/handler/RenameFile.java rename to src/main/java/org/jcnc/jnotepad/controller/event/handler/menuBar/RenameFile.java index 0658ae7..e75e66f 100644 --- a/src/main/java/org/jcnc/jnotepad/controller/event/handler/RenameFile.java +++ b/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuBar/RenameFile.java @@ -1,4 +1,4 @@ -package org.jcnc.jnotepad.controller.event.handler; +package org.jcnc.jnotepad.controller.event.handler.menuBar; import javafx.event.ActionEvent; import javafx.event.EventHandler; @@ -7,7 +7,7 @@ import javafx.scene.input.KeyCode; import javafx.stage.FileChooser; import org.jcnc.jnotepad.tool.LogUtil; import org.jcnc.jnotepad.tool.UiUtil; -import org.jcnc.jnotepad.ui.tab.JNotepadTab; +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/SaveAsFile.java b/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuBar/SaveAsFile.java similarity index 92% rename from src/main/java/org/jcnc/jnotepad/controller/event/handler/SaveAsFile.java rename to src/main/java/org/jcnc/jnotepad/controller/event/handler/menuBar/SaveAsFile.java index 1d0af6f..426ded4 100644 --- a/src/main/java/org/jcnc/jnotepad/controller/event/handler/SaveAsFile.java +++ b/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuBar/SaveAsFile.java @@ -1,4 +1,4 @@ -package org.jcnc.jnotepad.controller.event.handler; +package org.jcnc.jnotepad.controller.event.handler.menuBar; import javafx.event.ActionEvent; import org.jcnc.jnotepad.tool.LogUtil; diff --git a/src/main/java/org/jcnc/jnotepad/controller/event/handler/SaveFile.java b/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuBar/SaveFile.java similarity index 96% rename from src/main/java/org/jcnc/jnotepad/controller/event/handler/SaveFile.java rename to src/main/java/org/jcnc/jnotepad/controller/event/handler/menuBar/SaveFile.java index 8f464de..64f0753 100644 --- a/src/main/java/org/jcnc/jnotepad/controller/event/handler/SaveFile.java +++ b/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuBar/SaveFile.java @@ -1,4 +1,4 @@ -package org.jcnc.jnotepad.controller.event.handler; +package org.jcnc.jnotepad.controller.event.handler.menuBar; import javafx.event.ActionEvent; import javafx.event.EventHandler; @@ -7,7 +7,7 @@ import org.jcnc.jnotepad.controller.config.AppConfigController; import org.jcnc.jnotepad.controller.i18n.LocalizationController; import org.jcnc.jnotepad.tool.LogUtil; import org.jcnc.jnotepad.tool.UiUtil; -import org.jcnc.jnotepad.ui.tab.JNotepadTab; +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/tool/SetBtn.java b/src/main/java/org/jcnc/jnotepad/controller/event/handler/tool/SetBtn.java new file mode 100644 index 0000000..035b2f8 --- /dev/null +++ b/src/main/java/org/jcnc/jnotepad/controller/event/handler/tool/SetBtn.java @@ -0,0 +1,38 @@ +package org.jcnc.jnotepad.controller.event.handler.tool; + +import javafx.event.ActionEvent; +import javafx.event.EventHandler; +import javafx.scene.Scene; +import javafx.scene.control.Label; +import javafx.scene.layout.VBox; +import javafx.stage.Stage; +import org.jcnc.jnotepad.app.i18n.UIResourceBundle; +import org.jcnc.jnotepad.constants.TextConstants; +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.ui.setStage.SetStage; +import org.jcnc.jnotepad.view.manager.ViewManager; + + +/** + * 设置按钮事件的事件处理程序。 + *
+ * 当用户点击设置的时候,将打开设置窗口。
+ *
+ * @author 许轲
+ */
+public class SetBtn implements EventHandler
获取当前选中的标签页
* @see JNotepadTabPane
*/
@@ -83,7 +83,7 @@ public class UiUtil {
/**
* 获取状态栏组件
*
- * @return org.jcnc.jnotepad.ui.status.JNotepadStatusBox
+ * @return org.jcnc.jnotepad.ui.root.bottom.status.JNotepadStatusBox
* @since 2023/8/29 14:14
*/
public static JNotepadStatusBox getStatusBox() {
@@ -93,7 +93,7 @@ public class UiUtil {
/**
* 获取菜单栏组件
*
- * @return org.jcnc.jnotepad.ui.menu.JNotepadMenuBar
+ * @return org.jcnc.jnotepad.ui.root.top.menu.JNotepadMenuBar
* @since 2023/8/29 14:15
*/
public static JNotepadMenuBar getMenuBar() {
diff --git a/src/main/java/org/jcnc/jnotepad/ui/module/AbstractBorderPane.java b/src/main/java/org/jcnc/jnotepad/ui/module/AbstractBorderPane.java
new file mode 100644
index 0000000..8ceef05
--- /dev/null
+++ b/src/main/java/org/jcnc/jnotepad/ui/module/AbstractBorderPane.java
@@ -0,0 +1,34 @@
+package org.jcnc.jnotepad.ui.module;
+
+import javafx.scene.Node;
+import javafx.scene.layout.BorderPane;
+import org.jcnc.jnotepad.Interface.BorderPaneAble;
+
+public abstract class AbstractBorderPane extends BorderPane implements BorderPaneAble {
+
+ @Override
+ public void setTopComponent(Node node) {
+ setTop(node);
+ }
+
+ @Override
+ public void setBottomComponent(Node node) {
+ setBottom(node);
+ }
+
+ @Override
+ public void setLeftComponent(Node node) {
+ setLeft(node);
+ }
+
+ @Override
+ public void setRightComponent(Node node) {
+ setRight(node);
+ }
+
+ @Override
+ public void setCenterComponent(Node node) {
+ setCenter(node);
+ }
+
+}
diff --git a/src/main/java/org/jcnc/jnotepad/ui/module/AbstractHBox.java b/src/main/java/org/jcnc/jnotepad/ui/module/AbstractHBox.java
new file mode 100644
index 0000000..189ee44
--- /dev/null
+++ b/src/main/java/org/jcnc/jnotepad/ui/module/AbstractHBox.java
@@ -0,0 +1,28 @@
+package org.jcnc.jnotepad.ui.module;
+
+import javafx.scene.Node;
+import javafx.scene.layout.HBox;
+import org.jcnc.jnotepad.Interface.HBoxAble;
+
+public abstract class AbstractHBox extends HBox implements HBoxAble {
+ private final HBox hBox;
+
+ public AbstractHBox() {
+ hBox = new HBox();
+ }
+
+ @Override
+ public void addChild(Node node) {
+ hBox.getChildren().add(node);
+ }
+
+ @Override
+ public void addChild(Node... nodes) {
+ hBox.getChildren().addAll(nodes);
+ }
+
+ @Override
+ public HBox getHBox() {
+ return hBox;
+ }
+}
diff --git a/src/main/java/org/jcnc/jnotepad/ui/module/AbstractVBox.java b/src/main/java/org/jcnc/jnotepad/ui/module/AbstractVBox.java
new file mode 100644
index 0000000..71341e1
--- /dev/null
+++ b/src/main/java/org/jcnc/jnotepad/ui/module/AbstractVBox.java
@@ -0,0 +1,29 @@
+package org.jcnc.jnotepad.ui.module;
+
+import javafx.scene.Node;
+import javafx.scene.layout.VBox;
+import org.jcnc.jnotepad.Interface.VBoxAble;
+
+public abstract class AbstractVBox extends VBox implements VBoxAble {
+
+ private final VBox vBox;
+
+ public AbstractVBox() {
+ vBox = new VBox();
+ }
+
+ @Override
+ public void addChild(Node node) {
+ vBox.getChildren().add(node);
+ }
+
+ @Override
+ public void addChild(Node... nodes) {
+ vBox.getChildren().addAll(nodes);
+ }
+
+ @Override
+ public VBox getVBox() {
+ return vBox;
+ }
+}
diff --git a/src/main/java/org/jcnc/jnotepad/ui/LineNumberTextArea.java b/src/main/java/org/jcnc/jnotepad/ui/module/LineNumberTextArea.java
similarity index 95%
rename from src/main/java/org/jcnc/jnotepad/ui/LineNumberTextArea.java
rename to src/main/java/org/jcnc/jnotepad/ui/module/LineNumberTextArea.java
index be20b93..b64c6b8 100644
--- a/src/main/java/org/jcnc/jnotepad/ui/LineNumberTextArea.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/module/LineNumberTextArea.java
@@ -1,13 +1,13 @@
-package org.jcnc.jnotepad.ui;
+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.controller.config.AppConfigController;
import org.jcnc.jnotepad.tool.LogUtil;
-import org.jcnc.jnotepad.ui.status.JNotepadStatusBox;
-import org.jcnc.jnotepad.ui.tab.JNotepadTab;
-import org.jcnc.jnotepad.ui.tab.JNotepadTabPane;
+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 java.io.BufferedWriter;
import java.io.File;
diff --git a/src/main/java/org/jcnc/jnotepad/ui/status/JNotepadStatusBox.java b/src/main/java/org/jcnc/jnotepad/ui/root/bottom/status/JNotepadStatusBox.java
similarity index 94%
rename from src/main/java/org/jcnc/jnotepad/ui/status/JNotepadStatusBox.java
rename to src/main/java/org/jcnc/jnotepad/ui/root/bottom/status/JNotepadStatusBox.java
index e1bba2b..ef0c0cd 100644
--- a/src/main/java/org/jcnc/jnotepad/ui/status/JNotepadStatusBox.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/root/bottom/status/JNotepadStatusBox.java
@@ -1,13 +1,13 @@
-package org.jcnc.jnotepad.ui.status;
+package org.jcnc.jnotepad.ui.root.bottom.status;
import javafx.geometry.Insets;
import javafx.scene.control.Label;
import javafx.scene.control.TextArea;
-import javafx.scene.layout.HBox;
import org.jcnc.jnotepad.app.i18n.UIResourceBundle;
import org.jcnc.jnotepad.constants.TextConstants;
-import org.jcnc.jnotepad.ui.tab.JNotepadTab;
-import org.jcnc.jnotepad.ui.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;
@@ -18,7 +18,7 @@ import java.nio.charset.Charset;
*
* @author songdragon
*/
-public class JNotepadStatusBox extends HBox {
+public class JNotepadStatusBox extends AbstractHBox {
private static final JNotepadStatusBox STATUS_BOX = new JNotepadStatusBox();
/**
diff --git a/src/main/java/org/jcnc/jnotepad/ui/tab/JNotepadTab.java b/src/main/java/org/jcnc/jnotepad/ui/root/center/tab/JNotepadTab.java
similarity index 94%
rename from src/main/java/org/jcnc/jnotepad/ui/tab/JNotepadTab.java
rename to src/main/java/org/jcnc/jnotepad/ui/root/center/tab/JNotepadTab.java
index 1747960..711e315 100644
--- a/src/main/java/org/jcnc/jnotepad/ui/tab/JNotepadTab.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/root/center/tab/JNotepadTab.java
@@ -1,8 +1,8 @@
-package org.jcnc.jnotepad.ui.tab;
+package org.jcnc.jnotepad.ui.root.center.tab;
import javafx.scene.control.Tab;
import org.jcnc.jnotepad.controller.config.AppConfigController;
-import org.jcnc.jnotepad.ui.LineNumberTextArea;
+import org.jcnc.jnotepad.ui.module.LineNumberTextArea;
import java.nio.charset.Charset;
diff --git a/src/main/java/org/jcnc/jnotepad/ui/tab/JNotepadTabPane.java b/src/main/java/org/jcnc/jnotepad/ui/root/center/tab/JNotepadTabPane.java
similarity index 97%
rename from src/main/java/org/jcnc/jnotepad/ui/tab/JNotepadTabPane.java
rename to src/main/java/org/jcnc/jnotepad/ui/root/center/tab/JNotepadTabPane.java
index c149d70..c922108 100644
--- a/src/main/java/org/jcnc/jnotepad/ui/tab/JNotepadTabPane.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/root/center/tab/JNotepadTabPane.java
@@ -1,4 +1,4 @@
-package org.jcnc.jnotepad.ui.tab;
+package org.jcnc.jnotepad.ui.root.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/ui/root/top/RootTopVBox.java
new file mode 100644
index 0000000..bae5279
--- /dev/null
+++ b/src/main/java/org/jcnc/jnotepad/ui/root/top/RootTopVBox.java
@@ -0,0 +1,20 @@
+package org.jcnc.jnotepad.ui.root.top;
+
+import javafx.scene.layout.VBox;
+import org.jcnc.jnotepad.ui.root.top.menu.JNotepadMenuBar;
+import org.jcnc.jnotepad.ui.root.top.tools.ToolHBox;
+
+public class RootTopVBox extends VBox {
+ private static final RootTopVBox INSTANCE = new RootTopVBox();
+
+ private RootTopVBox() {
+ // 在构造函数中初始化
+ getChildren().add(JNotepadMenuBar.getInstance());
+ getChildren().add(ToolHBox.getInstance());
+ }
+
+ public static RootTopVBox getInstance() {
+ return INSTANCE;
+ }
+
+}
diff --git a/src/main/java/org/jcnc/jnotepad/ui/menu/JNotepadMenuBar.java b/src/main/java/org/jcnc/jnotepad/ui/root/top/menu/JNotepadMenuBar.java
similarity index 93%
rename from src/main/java/org/jcnc/jnotepad/ui/menu/JNotepadMenuBar.java
rename to src/main/java/org/jcnc/jnotepad/ui/root/top/menu/JNotepadMenuBar.java
index faf0077..daf051e 100644
--- a/src/main/java/org/jcnc/jnotepad/ui/menu/JNotepadMenuBar.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/root/top/menu/JNotepadMenuBar.java
@@ -1,4 +1,4 @@
-package org.jcnc.jnotepad.ui.menu;
+package org.jcnc.jnotepad.ui.root.top.menu;
import javafx.event.ActionEvent;
import javafx.scene.control.*;
@@ -7,11 +7,13 @@ import javafx.stage.Stage;
import org.jcnc.jnotepad.app.config.AppConfig;
import org.jcnc.jnotepad.app.i18n.UIResourceBundle;
import org.jcnc.jnotepad.controller.config.AppConfigController;
-import org.jcnc.jnotepad.controller.event.handler.*;
+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.tool.LogUtil;
-import org.jcnc.jnotepad.ui.tab.JNotepadTab;
-import org.jcnc.jnotepad.ui.tab.JNotepadTabPane;
+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.*;
@@ -110,6 +112,14 @@ public class JNotepadMenuBar extends MenuBar {
private RadioMenuItem englishItem;
private final Map