重构ui代码

This commit is contained in:
许轲 2023-08-31 01:42:05 +08:00
parent 3671354b5d
commit 3bd945a2e6
17 changed files with 83 additions and 35 deletions

View File

@ -23,13 +23,10 @@ module org.jcnc.jnotepad {
exports org.jcnc.jnotepad.controller.event.handler.menuBar; exports org.jcnc.jnotepad.controller.event.handler.menuBar;
exports org.jcnc.jnotepad.tool; exports org.jcnc.jnotepad.tool;
exports org.jcnc.jnotepad.Interface; 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.module;
exports org.jcnc.jnotepad.ui.setStage; exports org.jcnc.jnotepad.ui.setStage;
exports org.jcnc.jnotepad.ui.root.top.tools;
exports org.jcnc.jnotepad.view.manager; exports org.jcnc.jnotepad.view.manager;
opens org.jcnc.jnotepad.app.config; opens org.jcnc.jnotepad.app.config;
exports org.jcnc.jnotepad.root.center.main.bottom.status;
} }

View File

@ -4,9 +4,9 @@ import javafx.event.ActionEvent;
import javafx.event.EventHandler; import javafx.event.EventHandler;
import org.jcnc.jnotepad.app.i18n.UiResourceBundle; import org.jcnc.jnotepad.app.i18n.UiResourceBundle;
import org.jcnc.jnotepad.constants.TextConstants; 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.tool.UiUtil;
import org.jcnc.jnotepad.ui.module.LineNumberTextArea; import org.jcnc.jnotepad.ui.module.LineNumberTextArea;
import org.jcnc.jnotepad.ui.root.center.tab.JNotepadTab;
import org.jcnc.jnotepad.view.manager.ViewManager; import org.jcnc.jnotepad.view.manager.ViewManager;

View File

@ -6,11 +6,11 @@ import javafx.event.ActionEvent;
import javafx.event.EventHandler; import javafx.event.EventHandler;
import javafx.stage.FileChooser; import javafx.stage.FileChooser;
import org.jcnc.jnotepad.manager.ThreadPoolManager; 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.EncodingDetector;
import org.jcnc.jnotepad.tool.LogUtil; import org.jcnc.jnotepad.tool.LogUtil;
import org.jcnc.jnotepad.tool.UiUtil; import org.jcnc.jnotepad.tool.UiUtil;
import org.jcnc.jnotepad.ui.module.LineNumberTextArea; import org.jcnc.jnotepad.ui.module.LineNumberTextArea;
import org.jcnc.jnotepad.ui.root.center.tab.JNotepadTab;
import java.io.BufferedReader; import java.io.BufferedReader;
import java.io.File; import java.io.File;

View File

@ -5,9 +5,9 @@ import javafx.event.EventHandler;
import javafx.scene.control.TextField; import javafx.scene.control.TextField;
import javafx.scene.input.KeyCode; import javafx.scene.input.KeyCode;
import javafx.stage.FileChooser; 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.LogUtil;
import org.jcnc.jnotepad.tool.UiUtil; import org.jcnc.jnotepad.tool.UiUtil;
import org.jcnc.jnotepad.ui.root.center.tab.JNotepadTab;
import org.slf4j.Logger; import org.slf4j.Logger;
import java.io.File; import java.io.File;

View File

@ -4,10 +4,10 @@ import javafx.event.ActionEvent;
import javafx.event.EventHandler; import javafx.event.EventHandler;
import javafx.stage.FileChooser; import javafx.stage.FileChooser;
import org.jcnc.jnotepad.controller.i18n.LocalizationController; 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.LogUtil;
import org.jcnc.jnotepad.tool.SingletonUtil; import org.jcnc.jnotepad.tool.SingletonUtil;
import org.jcnc.jnotepad.tool.UiUtil; import org.jcnc.jnotepad.tool.UiUtil;
import org.jcnc.jnotepad.ui.root.center.tab.JNotepadTab;
import org.slf4j.Logger; import org.slf4j.Logger;
import java.io.File; import java.io.File;

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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.geometry.Insets;
import javafx.scene.control.Label; import javafx.scene.control.Label;
import javafx.scene.control.TextArea; import javafx.scene.control.TextArea;
import org.jcnc.jnotepad.app.i18n.UiResourceBundle; import org.jcnc.jnotepad.app.i18n.UiResourceBundle;
import org.jcnc.jnotepad.constants.TextConstants; 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.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; import java.nio.charset.Charset;

View File

@ -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 javafx.scene.control.Tab;
import org.jcnc.jnotepad.controller.config.AppConfigController; import org.jcnc.jnotepad.controller.config.AppConfigController;

View File

@ -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 javafx.scene.control.TabPane;
import org.jcnc.jnotepad.controller.config.AppConfigController; import org.jcnc.jnotepad.controller.config.AppConfigController;

View File

@ -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 javafx.scene.layout.VBox;
import org.jcnc.jnotepad.ui.root.top.menu.JNotepadMenuBar; import org.jcnc.jnotepad.root.center.main.top.menu.JNotepadMenuBar;
import org.jcnc.jnotepad.ui.root.top.tools.ToolHBox; import org.jcnc.jnotepad.root.center.main.top.tools.ToolHBox;
public class RootTopVBox extends VBox { public class RootTopVBox extends VBox {
private static final RootTopVBox INSTANCE = new RootTopVBox(); private static final RootTopVBox INSTANCE = new RootTopVBox();

View File

@ -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.event.ActionEvent;
import javafx.scene.control.*; 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.menuBar.*;
import org.jcnc.jnotepad.controller.event.handler.tool.SetBtn; import org.jcnc.jnotepad.controller.event.handler.tool.SetBtn;
import org.jcnc.jnotepad.controller.i18n.LocalizationController; 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.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 org.slf4j.Logger;
import java.util.*; import java.util.*;

View File

@ -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.Button;
import javafx.scene.control.ToolBar; import javafx.scene.control.ToolBar;

View File

@ -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.HBox;
import javafx.scene.layout.Priority; import javafx.scene.layout.Priority;

View File

@ -3,10 +3,10 @@ package org.jcnc.jnotepad.tool;
import javafx.scene.image.Image; import javafx.scene.image.Image;
import javafx.stage.Window; import javafx.stage.Window;
import org.jcnc.jnotepad.constants.AppConstants; import org.jcnc.jnotepad.constants.AppConstants;
import org.jcnc.jnotepad.ui.root.bottom.status.JNotepadStatusBox; import org.jcnc.jnotepad.root.center.main.bottom.status.JNotepadStatusBox;
import org.jcnc.jnotepad.ui.root.center.tab.JNotepadTab; import org.jcnc.jnotepad.root.center.main.center.tab.JNotepadTab;
import org.jcnc.jnotepad.ui.root.center.tab.JNotepadTabPane; import org.jcnc.jnotepad.root.center.main.center.tab.JNotepadTabPane;
import org.jcnc.jnotepad.ui.root.top.menu.JNotepadMenuBar; import org.jcnc.jnotepad.root.center.main.top.menu.JNotepadMenuBar;
import org.jcnc.jnotepad.ui.setStage.SetStage; import org.jcnc.jnotepad.ui.setStage.SetStage;
import org.jcnc.jnotepad.view.manager.ViewManager; import org.jcnc.jnotepad.view.manager.ViewManager;

View File

@ -3,10 +3,10 @@ package org.jcnc.jnotepad.ui.module;
import javafx.beans.property.StringProperty; import javafx.beans.property.StringProperty;
import javafx.scene.control.TextArea; import javafx.scene.control.TextArea;
import javafx.scene.layout.BorderPane; 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.LogUtil;
import org.jcnc.jnotepad.tool.SingletonUtil; import org.jcnc.jnotepad.tool.SingletonUtil;
import org.jcnc.jnotepad.tool.UiUtil; import org.jcnc.jnotepad.tool.UiUtil;
import org.jcnc.jnotepad.ui.root.center.tab.JNotepadTab;
import org.slf4j.Logger; import org.slf4j.Logger;
import java.io.BufferedWriter; import java.io.BufferedWriter;

View File

@ -3,9 +3,7 @@ package org.jcnc.jnotepad.view.manager;
import javafx.scene.Scene; import javafx.scene.Scene;
import javafx.scene.layout.BorderPane; import javafx.scene.layout.BorderPane;
import org.jcnc.jnotepad.exception.AppException; import org.jcnc.jnotepad.exception.AppException;
import org.jcnc.jnotepad.ui.root.bottom.status.JNotepadStatusBox; import org.jcnc.jnotepad.root.center.main.MainBorderPane;
import org.jcnc.jnotepad.ui.root.center.tab.JNotepadTabPane;
import org.jcnc.jnotepad.ui.root.top.RootTopVBox;
/** /**
@ -76,12 +74,13 @@ public class ViewManager {
// 创建主界面布局 // 创建主界面布局
root = new BorderPane(); root = new BorderPane();
root.setCenter(MainBorderPane.getInstance());
root.setTop(RootTopVBox.getInstance()); // root.setTop(RootTopVBox.getInstance());
//
// 创建标签页和文本编辑区域 // // 创建标签页和文本编辑区域
root.setCenter(JNotepadTabPane.getInstance()); // root.setCenter(JNotepadTabPane.getInstance());
root.setBottom(JNotepadStatusBox.getInstance()); // root.setBottom(JNotepadStatusBox.getInstance());
scene.setRoot(root); scene.setRoot(root);
} }