From 87c90072f854f49cf9c0a8c08a77b9ea1b66446c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=AE=B8=E8=BD=B2?= Date: Thu, 5 Oct 2023 01:00:42 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=9E=84=E9=A1=B9=E7=9B=AE=E7=9A=84UI?= =?UTF-8?q?=E4=B8=BAcomponent=20=E9=87=8D=E6=9E=84=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E6=95=B4=E4=BD=93=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/module-info.java | 16 ++-- src/main/java/org/jcnc/jnotepad/LunchApp.java | 2 +- .../config/BaseConfigController.java | 8 +- .../core/manager/AbstractCacheManager.java | 2 +- .../core/views/top/menu/AbstractTopMenu.java | 2 +- .../jnotepad/app/config/PluginConfig.java | 2 +- .../jcnc/jnotepad/app/config/UserConfig.java | 2 +- .../app/manager/ApplicationManager.java | 4 +- .../{model => cache}/entity/Cache.java | 2 +- .../{model => cache}/entity/DirFileModel.java | 2 +- .../entity/PluginDescriptor.java | 2 +- .../{model => cache}/entity/ShortcutKey.java | 2 +- .../enums/CacheExpirationTime.java | 2 +- .../{model => cache}/enums/DialogType.java | 2 +- .../common/manager/ThreadPoolManager.java | 2 +- .../module/CodeArea.java} | 15 ++-- .../module/base}/AbstractBorderPane.java | 4 +- .../module/base}/AbstractHorizontalBox.java | 4 +- .../module/base}/AbstractVerticalBox.java | 4 +- .../module/hbox/CustomTitleBarBox.java} | 12 +-- .../module}/interfaces/BorderPaneAble.java | 2 +- .../module}/interfaces/ControllerAble.java | 2 +- .../module}/interfaces/HorizontalBoxAble.java | 2 +- .../module}/interfaces/VerticalBoxAble.java | 2 +- .../module/vbox/CmdTerminalBox.java} | 8 +- .../stage}/dialog/AppDialogBuilder.java | 18 ++--- .../stage/dialog/AppDialogStage.java} | 12 +-- .../factory/DirectoryChooserFactory.java | 2 +- .../dialog/factory/FileChooserFactory.java | 2 +- .../impl/BasicDirectoryChooserFactory.java | 4 +- .../factory/impl/BasicFileChooserFactory.java | 4 +- .../dialog/interfaces/DialogButtonAction.java | 8 +- .../stage/setting}/CustomSetButton.java | 2 +- .../stage/setting}/DeveloperDebugStage.java | 8 +- .../stage/setting}/HelpPaneStage.java | 6 +- .../stage/setting/SetDevBox.java} | 6 +- .../stage/setting}/SetStage.java | 8 +- .../setting/plugin}/CustomSplitPane.java | 2 +- .../setting/plugin}/PluginManagementPane.java | 12 +-- .../controller/ResourceController.java | 4 +- .../controller/cache/CacheController.java | 6 +- .../config/UserConfigController.java | 2 +- .../event/handler/menuitem/NewFile.java | 4 +- .../event/handler/menuitem/OpenConfig.java | 2 +- .../event/handler/menuitem/OpenDirectory.java | 12 +-- .../event/handler/menuitem/OpenFile.java | 25 +++--- .../event/handler/menuitem/RenameFile.java | 8 +- .../event/handler/menuitem/SaveAsFile.java | 3 +- .../event/handler/menuitem/SaveFile.java | 10 +-- .../event/handler/setting/SetBtn.java | 2 +- .../exception/AppException.java | 2 +- .../controller/manager/Controller.java | 2 +- .../jcnc/jnotepad/plugin/PluginLoader.java | 8 +- .../plugin/PluginManagerInterface.java | 8 +- .../plugin/manager/PluginManager.java | 6 +- .../ui/module/TerminalEmulatorComponent.java | 80 ------------------- .../{api => }/util/EncodingDetector.java | 2 +- .../jnotepad/{api => }/util/FileUtil.java | 6 +- .../jnotepad/{api => }/util/JsonUtil.java | 4 +- .../jcnc/jnotepad/{api => }/util/LogUtil.java | 2 +- .../jnotepad/{api => }/util/PopUpUtil.java | 8 +- .../jcnc/jnotepad/{api => }/util/UiUtil.java | 2 +- .../views/manager/BottomStatusBoxManager.java | 6 +- .../views/manager/CenterTabPaneManager.java | 14 ++-- .../manager/DirectorySidebarManager.java | 4 +- .../jnotepad/views/manager/RootManager.java | 2 +- .../views/manager/TopMenuBarManager.java | 4 +- .../jnotepad/views/root/RootBorderPane.java | 2 +- .../bottom/RootBottomSideBarVerticalBox.java | 2 +- .../root/bottom/status/BottomStatusBox.java | 2 +- .../root/center/main/MainBorderPane.java | 2 +- .../directory/DirectorySidebarPane.java | 2 +- .../center/main/center/tab/CenterTab.java | 24 +++--- .../left/sidebar/tools/ToolHorizontalBox.java | 2 +- .../left/sidebar/tools/ToolVerticalBox.java | 2 +- .../right/RootRightSideBarVerticalBox.java | 2 +- .../views/root/top/RootTopBorderPane.java | 2 +- .../root/top/menubar/menu/HelpTopMenu.java | 2 +- .../root/top/menubar/menu/PluginTopMenu.java | 2 +- .../root/top/menubar/menu/SettingTopMenu.java | 2 +- 80 files changed, 203 insertions(+), 284 deletions(-) rename src/main/java/org/jcnc/jnotepad/{model => cache}/entity/Cache.java (98%) rename src/main/java/org/jcnc/jnotepad/{model => cache}/entity/DirFileModel.java (97%) rename src/main/java/org/jcnc/jnotepad/{model => cache}/entity/PluginDescriptor.java (99%) rename src/main/java/org/jcnc/jnotepad/{model => cache}/entity/ShortcutKey.java (93%) rename src/main/java/org/jcnc/jnotepad/{model => cache}/enums/CacheExpirationTime.java (94%) rename src/main/java/org/jcnc/jnotepad/{model => cache}/enums/DialogType.java (88%) rename src/main/java/org/jcnc/jnotepad/{ui/module/LineNumberTextArea.java => component/module/CodeArea.java} (94%) rename src/main/java/org/jcnc/jnotepad/{ui/module => component/module/base}/AbstractBorderPane.java (87%) rename src/main/java/org/jcnc/jnotepad/{ui/module => component/module/base}/AbstractHorizontalBox.java (85%) rename src/main/java/org/jcnc/jnotepad/{ui/module => component/module/base}/AbstractVerticalBox.java (85%) rename src/main/java/org/jcnc/jnotepad/{ui/titlebar/CustomTitleBar.java => component/module/hbox/CustomTitleBarBox.java} (92%) rename src/main/java/org/jcnc/jnotepad/{common => component/module}/interfaces/BorderPaneAble.java (94%) rename src/main/java/org/jcnc/jnotepad/{common => component/module}/interfaces/ControllerAble.java (90%) rename src/main/java/org/jcnc/jnotepad/{common => component/module}/interfaces/HorizontalBoxAble.java (92%) rename src/main/java/org/jcnc/jnotepad/{common => component/module}/interfaces/VerticalBoxAble.java (92%) rename src/main/java/org/jcnc/jnotepad/{ui/CmdTerminal.java => component/module/vbox/CmdTerminalBox.java} (96%) rename src/main/java/org/jcnc/jnotepad/{ui => component/stage}/dialog/AppDialogBuilder.java (94%) rename src/main/java/org/jcnc/jnotepad/{ui/dialog/AppDialog.java => component/stage/dialog/AppDialogStage.java} (87%) rename src/main/java/org/jcnc/jnotepad/{ui => component/stage}/dialog/factory/DirectoryChooserFactory.java (93%) rename src/main/java/org/jcnc/jnotepad/{ui => component/stage}/dialog/factory/FileChooserFactory.java (94%) rename src/main/java/org/jcnc/jnotepad/{ui => component/stage}/dialog/factory/impl/BasicDirectoryChooserFactory.java (90%) rename src/main/java/org/jcnc/jnotepad/{ui => component/stage}/dialog/factory/impl/BasicFileChooserFactory.java (94%) rename src/main/java/org/jcnc/jnotepad/{ui => component/stage}/dialog/interfaces/DialogButtonAction.java (53%) rename src/main/java/org/jcnc/jnotepad/{ui/module => component/stage/setting}/CustomSetButton.java (80%) rename src/main/java/org/jcnc/jnotepad/{ui/setstage => component/stage/setting}/DeveloperDebugStage.java (95%) rename src/main/java/org/jcnc/jnotepad/{ui/setstage => component/stage/setting}/HelpPaneStage.java (98%) rename src/main/java/org/jcnc/jnotepad/{ui/module/SettingsComponent.java => component/stage/setting/SetDevBox.java} (92%) rename src/main/java/org/jcnc/jnotepad/{ui/setstage => component/stage/setting}/SetStage.java (97%) rename src/main/java/org/jcnc/jnotepad/{ui/setstage/pluginstage => component/stage/setting/plugin}/CustomSplitPane.java (96%) rename src/main/java/org/jcnc/jnotepad/{ui/setstage/pluginstage => component/stage/setting/plugin}/PluginManagementPane.java (98%) rename src/main/java/org/jcnc/jnotepad/{ => controller}/exception/AppException.java (92%) delete mode 100644 src/main/java/org/jcnc/jnotepad/ui/module/TerminalEmulatorComponent.java rename src/main/java/org/jcnc/jnotepad/{api => }/util/EncodingDetector.java (98%) rename src/main/java/org/jcnc/jnotepad/{api => }/util/FileUtil.java (97%) rename src/main/java/org/jcnc/jnotepad/{api => }/util/JsonUtil.java (96%) rename src/main/java/org/jcnc/jnotepad/{api => }/util/LogUtil.java (95%) rename src/main/java/org/jcnc/jnotepad/{api => }/util/PopUpUtil.java (95%) rename src/main/java/org/jcnc/jnotepad/{api => }/util/UiUtil.java (98%) diff --git a/src/main/java/module-info.java b/src/main/java/module-info.java index f7facd2..39a90de 100644 --- a/src/main/java/module-info.java +++ b/src/main/java/module-info.java @@ -21,7 +21,7 @@ module org.jcnc.jnotepad { requires javafx.web; exports org.jcnc.jnotepad; - exports org.jcnc.jnotepad.model.enums; + exports org.jcnc.jnotepad.cache.enums; exports org.jcnc.jnotepad.app.config; exports org.jcnc.jnotepad.app.i18n; exports org.jcnc.jnotepad.common.constants; @@ -30,18 +30,20 @@ module org.jcnc.jnotepad { exports org.jcnc.jnotepad.controller.i18n; exports org.jcnc.jnotepad.controller.event.handler.setting; exports org.jcnc.jnotepad.controller.event.handler.menuitem; - exports org.jcnc.jnotepad.api.util; - exports org.jcnc.jnotepad.common.interfaces; + exports org.jcnc.jnotepad.component.module.interfaces; opens org.jcnc.jnotepad.app.config; exports org.jcnc.jnotepad.plugin.interfaces; exports org.jcnc.jnotepad.views.root.bottom.function; - exports org.jcnc.jnotepad.ui.dialog; - exports org.jcnc.jnotepad.ui.dialog.interfaces; - exports org.jcnc.jnotepad.ui.module; - exports org.jcnc.jnotepad.model.entity; + + exports org.jcnc.jnotepad.component.module; + exports org.jcnc.jnotepad.cache.entity; exports org.jcnc.jnotepad.views.root.bottom; exports org.jcnc.jnotepad.views.root.bottom.status; exports org.jcnc.jnotepad.api.core.views.sidebar.bottom; exports org.jcnc.jnotepad.api.core.controller.config; + exports org.jcnc.jnotepad.component.module.base; + exports org.jcnc.jnotepad.component.stage.setting; + exports org.jcnc.jnotepad.component.module.vbox; + exports org.jcnc.jnotepad.component.module.hbox; } \ No newline at end of file diff --git a/src/main/java/org/jcnc/jnotepad/LunchApp.java b/src/main/java/org/jcnc/jnotepad/LunchApp.java index e8a4201..7d6efea 100644 --- a/src/main/java/org/jcnc/jnotepad/LunchApp.java +++ b/src/main/java/org/jcnc/jnotepad/LunchApp.java @@ -2,8 +2,8 @@ package org.jcnc.jnotepad; import javafx.application.Application; import javafx.stage.Stage; -import org.jcnc.jnotepad.api.util.LogUtil; import org.jcnc.jnotepad.app.manager.ApplicationManager; +import org.jcnc.jnotepad.util.LogUtil; /** diff --git a/src/main/java/org/jcnc/jnotepad/api/core/controller/config/BaseConfigController.java b/src/main/java/org/jcnc/jnotepad/api/core/controller/config/BaseConfigController.java index ee8f816..d3561fa 100644 --- a/src/main/java/org/jcnc/jnotepad/api/core/controller/config/BaseConfigController.java +++ b/src/main/java/org/jcnc/jnotepad/api/core/controller/config/BaseConfigController.java @@ -1,10 +1,10 @@ package org.jcnc.jnotepad.api.core.controller.config; import org.jcnc.jnotepad.api.core.controller.interfaces.ConfigController; -import org.jcnc.jnotepad.api.util.JsonUtil; -import org.jcnc.jnotepad.api.util.LogUtil; -import org.jcnc.jnotepad.api.util.PopUpUtil; -import org.jcnc.jnotepad.exception.AppException; +import org.jcnc.jnotepad.controller.exception.AppException; +import org.jcnc.jnotepad.util.JsonUtil; +import org.jcnc.jnotepad.util.LogUtil; +import org.jcnc.jnotepad.util.PopUpUtil; import org.slf4j.Logger; import java.io.BufferedWriter; diff --git a/src/main/java/org/jcnc/jnotepad/api/core/manager/AbstractCacheManager.java b/src/main/java/org/jcnc/jnotepad/api/core/manager/AbstractCacheManager.java index 0bdfc32..5bdad91 100644 --- a/src/main/java/org/jcnc/jnotepad/api/core/manager/AbstractCacheManager.java +++ b/src/main/java/org/jcnc/jnotepad/api/core/manager/AbstractCacheManager.java @@ -1,6 +1,6 @@ package org.jcnc.jnotepad.api.core.manager; -import org.jcnc.jnotepad.model.entity.Cache; +import org.jcnc.jnotepad.cache.entity.Cache; import java.util.Map; diff --git a/src/main/java/org/jcnc/jnotepad/api/core/views/top/menu/AbstractTopMenu.java b/src/main/java/org/jcnc/jnotepad/api/core/views/top/menu/AbstractTopMenu.java index cbb075b..94925af 100644 --- a/src/main/java/org/jcnc/jnotepad/api/core/views/top/menu/AbstractTopMenu.java +++ b/src/main/java/org/jcnc/jnotepad/api/core/views/top/menu/AbstractTopMenu.java @@ -7,8 +7,8 @@ import javafx.scene.control.CheckMenuItem; import javafx.scene.control.Menu; import javafx.scene.control.MenuItem; import javafx.scene.control.RadioMenuItem; -import org.jcnc.jnotepad.api.util.LogUtil; import org.jcnc.jnotepad.app.i18n.UiResourceBundle; +import org.jcnc.jnotepad.util.LogUtil; import org.jcnc.jnotepad.views.root.top.menubar.TopMenuBar; import org.slf4j.Logger; diff --git a/src/main/java/org/jcnc/jnotepad/app/config/PluginConfig.java b/src/main/java/org/jcnc/jnotepad/app/config/PluginConfig.java index 2b05c81..92e3bcf 100644 --- a/src/main/java/org/jcnc/jnotepad/app/config/PluginConfig.java +++ b/src/main/java/org/jcnc/jnotepad/app/config/PluginConfig.java @@ -1,6 +1,6 @@ package org.jcnc.jnotepad.app.config; -import org.jcnc.jnotepad.model.entity.PluginDescriptor; +import org.jcnc.jnotepad.cache.entity.PluginDescriptor; import java.util.List; diff --git a/src/main/java/org/jcnc/jnotepad/app/config/UserConfig.java b/src/main/java/org/jcnc/jnotepad/app/config/UserConfig.java index c828a33..d144f98 100644 --- a/src/main/java/org/jcnc/jnotepad/app/config/UserConfig.java +++ b/src/main/java/org/jcnc/jnotepad/app/config/UserConfig.java @@ -1,7 +1,7 @@ package org.jcnc.jnotepad.app.config; import com.fasterxml.jackson.annotation.JsonIgnore; -import org.jcnc.jnotepad.model.entity.ShortcutKey; +import org.jcnc.jnotepad.cache.entity.ShortcutKey; import java.util.List; diff --git a/src/main/java/org/jcnc/jnotepad/app/manager/ApplicationManager.java b/src/main/java/org/jcnc/jnotepad/app/manager/ApplicationManager.java index e998241..17a6c2a 100644 --- a/src/main/java/org/jcnc/jnotepad/app/manager/ApplicationManager.java +++ b/src/main/java/org/jcnc/jnotepad/app/manager/ApplicationManager.java @@ -8,8 +8,6 @@ import javafx.scene.layout.Pane; import javafx.stage.Stage; import javafx.stage.Window; import org.jcnc.jnotepad.LunchApp; -import org.jcnc.jnotepad.api.util.LogUtil; -import org.jcnc.jnotepad.api.util.UiUtil; import org.jcnc.jnotepad.app.i18n.UiResourceBundle; import org.jcnc.jnotepad.common.constants.AppConstants; import org.jcnc.jnotepad.common.constants.TextConstants; @@ -20,6 +18,8 @@ import org.jcnc.jnotepad.controller.config.PluginConfigController; import org.jcnc.jnotepad.controller.config.UserConfigController; import org.jcnc.jnotepad.controller.manager.Controller; import org.jcnc.jnotepad.plugin.manager.PluginManager; +import org.jcnc.jnotepad.util.LogUtil; +import org.jcnc.jnotepad.util.UiUtil; import org.jcnc.jnotepad.views.manager.*; import java.io.IOException; diff --git a/src/main/java/org/jcnc/jnotepad/model/entity/Cache.java b/src/main/java/org/jcnc/jnotepad/cache/entity/Cache.java similarity index 98% rename from src/main/java/org/jcnc/jnotepad/model/entity/Cache.java rename to src/main/java/org/jcnc/jnotepad/cache/entity/Cache.java index 8826144..beffe44 100644 --- a/src/main/java/org/jcnc/jnotepad/model/entity/Cache.java +++ b/src/main/java/org/jcnc/jnotepad/cache/entity/Cache.java @@ -1,4 +1,4 @@ -package org.jcnc.jnotepad.model.entity; +package org.jcnc.jnotepad.cache.entity; import com.fasterxml.jackson.annotation.JsonIgnore; diff --git a/src/main/java/org/jcnc/jnotepad/model/entity/DirFileModel.java b/src/main/java/org/jcnc/jnotepad/cache/entity/DirFileModel.java similarity index 97% rename from src/main/java/org/jcnc/jnotepad/model/entity/DirFileModel.java rename to src/main/java/org/jcnc/jnotepad/cache/entity/DirFileModel.java index 0d65f28..1a345a8 100644 --- a/src/main/java/org/jcnc/jnotepad/model/entity/DirFileModel.java +++ b/src/main/java/org/jcnc/jnotepad/cache/entity/DirFileModel.java @@ -1,4 +1,4 @@ -package org.jcnc.jnotepad.model.entity; +package org.jcnc.jnotepad.cache.entity; import org.kordamp.ikonli.javafx.FontIcon; diff --git a/src/main/java/org/jcnc/jnotepad/model/entity/PluginDescriptor.java b/src/main/java/org/jcnc/jnotepad/cache/entity/PluginDescriptor.java similarity index 99% rename from src/main/java/org/jcnc/jnotepad/model/entity/PluginDescriptor.java rename to src/main/java/org/jcnc/jnotepad/cache/entity/PluginDescriptor.java index b7e4f71..def520b 100644 --- a/src/main/java/org/jcnc/jnotepad/model/entity/PluginDescriptor.java +++ b/src/main/java/org/jcnc/jnotepad/cache/entity/PluginDescriptor.java @@ -1,4 +1,4 @@ -package org.jcnc.jnotepad.model.entity; +package org.jcnc.jnotepad.cache.entity; import com.fasterxml.jackson.annotation.JsonIgnore; import org.jcnc.jnotepad.plugin.interfaces.Plugin; diff --git a/src/main/java/org/jcnc/jnotepad/model/entity/ShortcutKey.java b/src/main/java/org/jcnc/jnotepad/cache/entity/ShortcutKey.java similarity index 93% rename from src/main/java/org/jcnc/jnotepad/model/entity/ShortcutKey.java rename to src/main/java/org/jcnc/jnotepad/cache/entity/ShortcutKey.java index da2650b..70a5966 100644 --- a/src/main/java/org/jcnc/jnotepad/model/entity/ShortcutKey.java +++ b/src/main/java/org/jcnc/jnotepad/cache/entity/ShortcutKey.java @@ -1,4 +1,4 @@ -package org.jcnc.jnotepad.model.entity; +package org.jcnc.jnotepad.cache.entity; /** diff --git a/src/main/java/org/jcnc/jnotepad/model/enums/CacheExpirationTime.java b/src/main/java/org/jcnc/jnotepad/cache/enums/CacheExpirationTime.java similarity index 94% rename from src/main/java/org/jcnc/jnotepad/model/enums/CacheExpirationTime.java rename to src/main/java/org/jcnc/jnotepad/cache/enums/CacheExpirationTime.java index 9686842..ec8c998 100644 --- a/src/main/java/org/jcnc/jnotepad/model/enums/CacheExpirationTime.java +++ b/src/main/java/org/jcnc/jnotepad/cache/enums/CacheExpirationTime.java @@ -1,4 +1,4 @@ -package org.jcnc.jnotepad.model.enums; +package org.jcnc.jnotepad.cache.enums; /** * 缓存过期时间枚举 diff --git a/src/main/java/org/jcnc/jnotepad/model/enums/DialogType.java b/src/main/java/org/jcnc/jnotepad/cache/enums/DialogType.java similarity index 88% rename from src/main/java/org/jcnc/jnotepad/model/enums/DialogType.java rename to src/main/java/org/jcnc/jnotepad/cache/enums/DialogType.java index 1f4cecc..5f38f7f 100644 --- a/src/main/java/org/jcnc/jnotepad/model/enums/DialogType.java +++ b/src/main/java/org/jcnc/jnotepad/cache/enums/DialogType.java @@ -1,4 +1,4 @@ -package org.jcnc.jnotepad.model.enums; +package org.jcnc.jnotepad.cache.enums; /** * 对话框类型 diff --git a/src/main/java/org/jcnc/jnotepad/common/manager/ThreadPoolManager.java b/src/main/java/org/jcnc/jnotepad/common/manager/ThreadPoolManager.java index 6068928..709e7c8 100644 --- a/src/main/java/org/jcnc/jnotepad/common/manager/ThreadPoolManager.java +++ b/src/main/java/org/jcnc/jnotepad/common/manager/ThreadPoolManager.java @@ -1,6 +1,6 @@ package org.jcnc.jnotepad.common.manager; -import org.jcnc.jnotepad.api.util.LogUtil; +import org.jcnc.jnotepad.util.LogUtil; import org.slf4j.Logger; import java.util.concurrent.*; diff --git a/src/main/java/org/jcnc/jnotepad/ui/module/LineNumberTextArea.java b/src/main/java/org/jcnc/jnotepad/component/module/CodeArea.java similarity index 94% rename from src/main/java/org/jcnc/jnotepad/ui/module/LineNumberTextArea.java rename to src/main/java/org/jcnc/jnotepad/component/module/CodeArea.java index 908b413..248a1c4 100644 --- a/src/main/java/org/jcnc/jnotepad/ui/module/LineNumberTextArea.java +++ b/src/main/java/org/jcnc/jnotepad/component/module/CodeArea.java @@ -1,4 +1,4 @@ -package org.jcnc.jnotepad.ui.module; +package org.jcnc.jnotepad.component.module; import javafx.application.Platform; import javafx.geometry.Insets; @@ -6,7 +6,6 @@ import javafx.scene.control.ContextMenu; import javafx.scene.control.MenuItem; import javafx.scene.input.KeyCode; import javafx.scene.input.KeyEvent; -import org.fxmisc.richtext.CodeArea; import org.fxmisc.richtext.GenericStyledArea; import org.fxmisc.richtext.LineNumberFactory; import org.fxmisc.richtext.model.Paragraph; @@ -31,7 +30,7 @@ import java.util.regex.Pattern; * * @author luke */ -public class LineNumberTextArea extends CodeArea { +public class CodeArea extends org.fxmisc.richtext.CodeArea { private static final String[] KEYWORDS = new String[]{ "abstract", "assert", "boolean", "break", "byte", @@ -80,7 +79,7 @@ public class LineNumberTextArea extends CodeArea { *

* 用于创建 LineNumberTextArea 对象 */ - public LineNumberTextArea() { + public CodeArea() { // 上、右、下、左 this.setPadding(new Insets(8, 0, 0, 0)); @@ -98,7 +97,7 @@ public class LineNumberTextArea extends CodeArea { this.getVisibleParagraphs().addModificationObserver ( - new LineNumberTextArea.VisibleParagraphStyler<>(this, this::computeHighlighting) + new CodeArea.VisibleParagraphStyler<>(this, this::computeHighlighting) ); // 自动缩进:在按下回车键时插入上一行的缩进 @@ -209,19 +208,19 @@ public class LineNumberTextArea extends CodeArea { * 折叠多行所选文本,仅显示第一行并隐藏其余部分。 */ private void fold() { - ((CodeArea) getOwnerNode()).foldSelectedParagraphs(); + ((org.fxmisc.richtext.CodeArea) getOwnerNode()).foldSelectedParagraphs(); } /** * 展开当前行/段落(如果有折叠)。 */ private void unfold() { - CodeArea area = (CodeArea) getOwnerNode(); + org.fxmisc.richtext.CodeArea area = (org.fxmisc.richtext.CodeArea) getOwnerNode(); area.unfoldParagraphs(area.getCurrentParagraph()); } private void print() { - System.out.println(((CodeArea) getOwnerNode()).getText()); + System.out.println(((org.fxmisc.richtext.CodeArea) getOwnerNode()).getText()); } } } diff --git a/src/main/java/org/jcnc/jnotepad/ui/module/AbstractBorderPane.java b/src/main/java/org/jcnc/jnotepad/component/module/base/AbstractBorderPane.java similarity index 87% rename from src/main/java/org/jcnc/jnotepad/ui/module/AbstractBorderPane.java rename to src/main/java/org/jcnc/jnotepad/component/module/base/AbstractBorderPane.java index 8a2f8b0..8526fb4 100644 --- a/src/main/java/org/jcnc/jnotepad/ui/module/AbstractBorderPane.java +++ b/src/main/java/org/jcnc/jnotepad/component/module/base/AbstractBorderPane.java @@ -1,8 +1,8 @@ -package org.jcnc.jnotepad.ui.module; +package org.jcnc.jnotepad.component.module.base; import javafx.scene.Node; import javafx.scene.layout.BorderPane; -import org.jcnc.jnotepad.common.interfaces.BorderPaneAble; +import org.jcnc.jnotepad.component.module.interfaces.BorderPaneAble; /** * 抽象边界面板类 diff --git a/src/main/java/org/jcnc/jnotepad/ui/module/AbstractHorizontalBox.java b/src/main/java/org/jcnc/jnotepad/component/module/base/AbstractHorizontalBox.java similarity index 85% rename from src/main/java/org/jcnc/jnotepad/ui/module/AbstractHorizontalBox.java rename to src/main/java/org/jcnc/jnotepad/component/module/base/AbstractHorizontalBox.java index 80da5be..8c724bb 100644 --- a/src/main/java/org/jcnc/jnotepad/ui/module/AbstractHorizontalBox.java +++ b/src/main/java/org/jcnc/jnotepad/component/module/base/AbstractHorizontalBox.java @@ -1,8 +1,8 @@ -package org.jcnc.jnotepad.ui.module; +package org.jcnc.jnotepad.component.module.base; import javafx.scene.Node; import javafx.scene.layout.HBox; -import org.jcnc.jnotepad.common.interfaces.HorizontalBoxAble; +import org.jcnc.jnotepad.component.module.interfaces.HorizontalBoxAble; /** * 抽象水平盒子类 diff --git a/src/main/java/org/jcnc/jnotepad/ui/module/AbstractVerticalBox.java b/src/main/java/org/jcnc/jnotepad/component/module/base/AbstractVerticalBox.java similarity index 85% rename from src/main/java/org/jcnc/jnotepad/ui/module/AbstractVerticalBox.java rename to src/main/java/org/jcnc/jnotepad/component/module/base/AbstractVerticalBox.java index cb9d064..c5c5973 100644 --- a/src/main/java/org/jcnc/jnotepad/ui/module/AbstractVerticalBox.java +++ b/src/main/java/org/jcnc/jnotepad/component/module/base/AbstractVerticalBox.java @@ -1,8 +1,8 @@ -package org.jcnc.jnotepad.ui.module; +package org.jcnc.jnotepad.component.module.base; import javafx.scene.Node; import javafx.scene.layout.VBox; -import org.jcnc.jnotepad.common.interfaces.VerticalBoxAble; +import org.jcnc.jnotepad.component.module.interfaces.VerticalBoxAble; /** * 抽象垂直盒子类 diff --git a/src/main/java/org/jcnc/jnotepad/ui/titlebar/CustomTitleBar.java b/src/main/java/org/jcnc/jnotepad/component/module/hbox/CustomTitleBarBox.java similarity index 92% rename from src/main/java/org/jcnc/jnotepad/ui/titlebar/CustomTitleBar.java rename to src/main/java/org/jcnc/jnotepad/component/module/hbox/CustomTitleBarBox.java index bec70f6..6b65b4b 100644 --- a/src/main/java/org/jcnc/jnotepad/ui/titlebar/CustomTitleBar.java +++ b/src/main/java/org/jcnc/jnotepad/component/module/hbox/CustomTitleBarBox.java @@ -1,4 +1,4 @@ -package org.jcnc.jnotepad.ui.titlebar; +package org.jcnc.jnotepad.component.module.hbox; import javafx.animation.TranslateTransition; import javafx.geometry.Pos; @@ -16,10 +16,10 @@ import javafx.util.Duration; * * @author 许轲 */ -public class CustomTitleBar extends HBox { - private static CustomTitleBar instance; +public class CustomTitleBarBox extends HBox { + private static CustomTitleBarBox instance; - public CustomTitleBar() { + public CustomTitleBarBox() { // 设置样式和布局 this.setAlignment(Pos.CENTER); @@ -69,9 +69,9 @@ public class CustomTitleBar extends HBox { * * @return CustomTitleBar的单例实例 */ - public static CustomTitleBar getInstance() { + public static CustomTitleBarBox getInstance() { if (instance == null) { - instance = new CustomTitleBar(); + instance = new CustomTitleBarBox(); } return instance; } diff --git a/src/main/java/org/jcnc/jnotepad/common/interfaces/BorderPaneAble.java b/src/main/java/org/jcnc/jnotepad/component/module/interfaces/BorderPaneAble.java similarity index 94% rename from src/main/java/org/jcnc/jnotepad/common/interfaces/BorderPaneAble.java rename to src/main/java/org/jcnc/jnotepad/component/module/interfaces/BorderPaneAble.java index 0e99611..f4d6b7f 100644 --- a/src/main/java/org/jcnc/jnotepad/common/interfaces/BorderPaneAble.java +++ b/src/main/java/org/jcnc/jnotepad/component/module/interfaces/BorderPaneAble.java @@ -1,4 +1,4 @@ -package org.jcnc.jnotepad.common.interfaces; +package org.jcnc.jnotepad.component.module.interfaces; import javafx.scene.Node; diff --git a/src/main/java/org/jcnc/jnotepad/common/interfaces/ControllerAble.java b/src/main/java/org/jcnc/jnotepad/component/module/interfaces/ControllerAble.java similarity index 90% rename from src/main/java/org/jcnc/jnotepad/common/interfaces/ControllerAble.java rename to src/main/java/org/jcnc/jnotepad/component/module/interfaces/ControllerAble.java index 24b951e..72de36f 100644 --- a/src/main/java/org/jcnc/jnotepad/common/interfaces/ControllerAble.java +++ b/src/main/java/org/jcnc/jnotepad/component/module/interfaces/ControllerAble.java @@ -1,4 +1,4 @@ -package org.jcnc.jnotepad.common.interfaces; +package org.jcnc.jnotepad.component.module.interfaces; import java.util.List; diff --git a/src/main/java/org/jcnc/jnotepad/common/interfaces/HorizontalBoxAble.java b/src/main/java/org/jcnc/jnotepad/component/module/interfaces/HorizontalBoxAble.java similarity index 92% rename from src/main/java/org/jcnc/jnotepad/common/interfaces/HorizontalBoxAble.java rename to src/main/java/org/jcnc/jnotepad/component/module/interfaces/HorizontalBoxAble.java index 2bce9ea..3184723 100644 --- a/src/main/java/org/jcnc/jnotepad/common/interfaces/HorizontalBoxAble.java +++ b/src/main/java/org/jcnc/jnotepad/component/module/interfaces/HorizontalBoxAble.java @@ -1,4 +1,4 @@ -package org.jcnc.jnotepad.common.interfaces; +package org.jcnc.jnotepad.component.module.interfaces; import javafx.scene.Node; import javafx.scene.layout.HBox; diff --git a/src/main/java/org/jcnc/jnotepad/common/interfaces/VerticalBoxAble.java b/src/main/java/org/jcnc/jnotepad/component/module/interfaces/VerticalBoxAble.java similarity index 92% rename from src/main/java/org/jcnc/jnotepad/common/interfaces/VerticalBoxAble.java rename to src/main/java/org/jcnc/jnotepad/component/module/interfaces/VerticalBoxAble.java index 5f0e0c3..87b5f10 100644 --- a/src/main/java/org/jcnc/jnotepad/common/interfaces/VerticalBoxAble.java +++ b/src/main/java/org/jcnc/jnotepad/component/module/interfaces/VerticalBoxAble.java @@ -1,4 +1,4 @@ -package org.jcnc.jnotepad.common.interfaces; +package org.jcnc.jnotepad.component.module.interfaces; import javafx.scene.Node; import javafx.scene.layout.VBox; diff --git a/src/main/java/org/jcnc/jnotepad/ui/CmdTerminal.java b/src/main/java/org/jcnc/jnotepad/component/module/vbox/CmdTerminalBox.java similarity index 96% rename from src/main/java/org/jcnc/jnotepad/ui/CmdTerminal.java rename to src/main/java/org/jcnc/jnotepad/component/module/vbox/CmdTerminalBox.java index dbadae1..fe1f1dd 100644 --- a/src/main/java/org/jcnc/jnotepad/ui/CmdTerminal.java +++ b/src/main/java/org/jcnc/jnotepad/component/module/vbox/CmdTerminalBox.java @@ -1,4 +1,4 @@ -package org.jcnc.jnotepad.ui; +package org.jcnc.jnotepad.component.module.vbox; import javafx.animation.KeyFrame; import javafx.animation.Timeline; @@ -10,7 +10,7 @@ import javafx.scene.layout.Priority; import javafx.scene.layout.VBox; import javafx.util.Duration; import org.fxmisc.richtext.StyleClassedTextArea; -import org.jcnc.jnotepad.api.util.LogUtil; +import org.jcnc.jnotepad.util.LogUtil; import java.io.*; import java.nio.charset.Charset; @@ -20,7 +20,7 @@ import java.nio.charset.Charset; * * @author luke */ -public class CmdTerminal extends VBox { +public class CmdTerminalBox extends VBox { /** * 用于显示命令输出的文本区域 @@ -44,7 +44,7 @@ public class CmdTerminal extends VBox { /** * 创建CmdTerminal对象的构造函数。 */ - public CmdTerminal() { + public CmdTerminalBox() { // 创建UI元素 cmdOutput = new StyleClassedTextArea(); cmdInput = new TextField(); diff --git a/src/main/java/org/jcnc/jnotepad/ui/dialog/AppDialogBuilder.java b/src/main/java/org/jcnc/jnotepad/component/stage/dialog/AppDialogBuilder.java similarity index 94% rename from src/main/java/org/jcnc/jnotepad/ui/dialog/AppDialogBuilder.java rename to src/main/java/org/jcnc/jnotepad/component/stage/dialog/AppDialogBuilder.java index 030cea0..9e6a0e5 100644 --- a/src/main/java/org/jcnc/jnotepad/ui/dialog/AppDialogBuilder.java +++ b/src/main/java/org/jcnc/jnotepad/component/stage/dialog/AppDialogBuilder.java @@ -1,13 +1,13 @@ -package org.jcnc.jnotepad.ui.dialog; +package org.jcnc.jnotepad.component.stage.dialog; import javafx.geometry.Insets; import javafx.geometry.Pos; import javafx.scene.image.Image; import javafx.stage.Modality; import javafx.stage.Stage; -import org.jcnc.jnotepad.api.util.UiUtil; -import org.jcnc.jnotepad.model.enums.DialogType; -import org.jcnc.jnotepad.ui.dialog.interfaces.DialogButtonAction; +import org.jcnc.jnotepad.cache.enums.DialogType; +import org.jcnc.jnotepad.component.stage.dialog.interfaces.DialogButtonAction; +import org.jcnc.jnotepad.util.UiUtil; import org.kordamp.ikonli.javafx.FontIcon; /** @@ -16,7 +16,7 @@ import org.kordamp.ikonli.javafx.FontIcon; * @author gewuyou */ public class AppDialogBuilder { - private AppDialog appDialog; + private AppDialogStage appDialogStage; private Image appIcon = UiUtil.getAppIcon(); private String title; private String headerText; @@ -87,9 +87,9 @@ public class AppDialogBuilder { } } - public AppDialog build() { - appDialog = new AppDialog(this); - return appDialog; + public AppDialogStage build() { + appDialogStage = new AppDialogStage(this); + return appDialogStage; } /** @@ -280,7 +280,7 @@ public class AppDialogBuilder { return this; } - public double getHBoxSpacing() { + public double getBoxSpacing() { return hBoxSpacing; } diff --git a/src/main/java/org/jcnc/jnotepad/ui/dialog/AppDialog.java b/src/main/java/org/jcnc/jnotepad/component/stage/dialog/AppDialogStage.java similarity index 87% rename from src/main/java/org/jcnc/jnotepad/ui/dialog/AppDialog.java rename to src/main/java/org/jcnc/jnotepad/component/stage/dialog/AppDialogStage.java index fad47f3..b5cb9f3 100644 --- a/src/main/java/org/jcnc/jnotepad/ui/dialog/AppDialog.java +++ b/src/main/java/org/jcnc/jnotepad/component/stage/dialog/AppDialogStage.java @@ -1,4 +1,4 @@ -package org.jcnc.jnotepad.ui.dialog; +package org.jcnc.jnotepad.component.stage.dialog; import javafx.scene.Scene; import javafx.scene.control.Button; @@ -7,7 +7,7 @@ import javafx.scene.layout.BorderPane; import javafx.scene.layout.HBox; import javafx.scene.layout.VBox; import javafx.stage.Stage; -import org.jcnc.jnotepad.ui.dialog.interfaces.DialogButtonAction; +import org.jcnc.jnotepad.component.stage.dialog.interfaces.DialogButtonAction; /** * 应用对话框 @@ -16,13 +16,13 @@ import org.jcnc.jnotepad.ui.dialog.interfaces.DialogButtonAction; * * @author luke gewuyou */ -public class AppDialog extends Stage { +public class AppDialogStage extends Stage { /** * 构造一个自定义提示框 * * @param builder 提示框构建器 */ - public AppDialog( + public AppDialogStage( AppDialogBuilder builder) { // 设置窗口图标 this.getIcons().add(builder.getAppIcon()); @@ -46,7 +46,7 @@ public class AppDialog extends Stage { BorderPane borderPane = new BorderPane(); HBox iconBox = new HBox(builder.getIcon()); iconBox.setPadding(builder.getIconCoxPaddingInsets()); - VBox vbox = new VBox(builder.getHBoxSpacing()); + VBox vbox = new VBox(builder.getBoxSpacing()); vbox.setAlignment(builder.getVboxPos()); Label label = new Label(builder.getHeaderText()); @@ -57,7 +57,7 @@ public class AppDialog extends Stage { Button confirmButton = createButton(builder.getLeftBtnText(), builder.getLeftBtnAction()); Button cancelButton = createButton(builder.getRightBtnText(), builder.getRightBtnAction()); - HBox hBox = new HBox(builder.getHBoxSpacing(), confirmButton, cancelButton); + HBox hBox = new HBox(builder.getBoxSpacing(), confirmButton, cancelButton); hBox.setAlignment(builder.getHboxPos()); hBox.setPadding(builder.gethBoxPaddingInsets()); vbox.getChildren().addAll(label, customTextLabel, hBox); diff --git a/src/main/java/org/jcnc/jnotepad/ui/dialog/factory/DirectoryChooserFactory.java b/src/main/java/org/jcnc/jnotepad/component/stage/dialog/factory/DirectoryChooserFactory.java similarity index 93% rename from src/main/java/org/jcnc/jnotepad/ui/dialog/factory/DirectoryChooserFactory.java rename to src/main/java/org/jcnc/jnotepad/component/stage/dialog/factory/DirectoryChooserFactory.java index a90dec7..104f4b2 100644 --- a/src/main/java/org/jcnc/jnotepad/ui/dialog/factory/DirectoryChooserFactory.java +++ b/src/main/java/org/jcnc/jnotepad/component/stage/dialog/factory/DirectoryChooserFactory.java @@ -1,4 +1,4 @@ -package org.jcnc.jnotepad.ui.dialog.factory; +package org.jcnc.jnotepad.component.stage.dialog.factory; import javafx.stage.DirectoryChooser; diff --git a/src/main/java/org/jcnc/jnotepad/ui/dialog/factory/FileChooserFactory.java b/src/main/java/org/jcnc/jnotepad/component/stage/dialog/factory/FileChooserFactory.java similarity index 94% rename from src/main/java/org/jcnc/jnotepad/ui/dialog/factory/FileChooserFactory.java rename to src/main/java/org/jcnc/jnotepad/component/stage/dialog/factory/FileChooserFactory.java index 7f465b3..954c797 100644 --- a/src/main/java/org/jcnc/jnotepad/ui/dialog/factory/FileChooserFactory.java +++ b/src/main/java/org/jcnc/jnotepad/component/stage/dialog/factory/FileChooserFactory.java @@ -1,4 +1,4 @@ -package org.jcnc.jnotepad.ui.dialog.factory; +package org.jcnc.jnotepad.component.stage.dialog.factory; import javafx.stage.FileChooser; diff --git a/src/main/java/org/jcnc/jnotepad/ui/dialog/factory/impl/BasicDirectoryChooserFactory.java b/src/main/java/org/jcnc/jnotepad/component/stage/dialog/factory/impl/BasicDirectoryChooserFactory.java similarity index 90% rename from src/main/java/org/jcnc/jnotepad/ui/dialog/factory/impl/BasicDirectoryChooserFactory.java rename to src/main/java/org/jcnc/jnotepad/component/stage/dialog/factory/impl/BasicDirectoryChooserFactory.java index acf4298..9e07fc1 100644 --- a/src/main/java/org/jcnc/jnotepad/ui/dialog/factory/impl/BasicDirectoryChooserFactory.java +++ b/src/main/java/org/jcnc/jnotepad/component/stage/dialog/factory/impl/BasicDirectoryChooserFactory.java @@ -1,7 +1,7 @@ -package org.jcnc.jnotepad.ui.dialog.factory.impl; +package org.jcnc.jnotepad.component.stage.dialog.factory.impl; import javafx.stage.DirectoryChooser; -import org.jcnc.jnotepad.ui.dialog.factory.DirectoryChooserFactory; +import org.jcnc.jnotepad.component.stage.dialog.factory.DirectoryChooserFactory; import java.io.File; diff --git a/src/main/java/org/jcnc/jnotepad/ui/dialog/factory/impl/BasicFileChooserFactory.java b/src/main/java/org/jcnc/jnotepad/component/stage/dialog/factory/impl/BasicFileChooserFactory.java similarity index 94% rename from src/main/java/org/jcnc/jnotepad/ui/dialog/factory/impl/BasicFileChooserFactory.java rename to src/main/java/org/jcnc/jnotepad/component/stage/dialog/factory/impl/BasicFileChooserFactory.java index 7ba296a..c84b86f 100644 --- a/src/main/java/org/jcnc/jnotepad/ui/dialog/factory/impl/BasicFileChooserFactory.java +++ b/src/main/java/org/jcnc/jnotepad/component/stage/dialog/factory/impl/BasicFileChooserFactory.java @@ -1,7 +1,7 @@ -package org.jcnc.jnotepad.ui.dialog.factory.impl; +package org.jcnc.jnotepad.component.stage.dialog.factory.impl; import javafx.stage.FileChooser; -import org.jcnc.jnotepad.ui.dialog.factory.FileChooserFactory; +import org.jcnc.jnotepad.component.stage.dialog.factory.FileChooserFactory; import java.io.File; import java.util.List; diff --git a/src/main/java/org/jcnc/jnotepad/ui/dialog/interfaces/DialogButtonAction.java b/src/main/java/org/jcnc/jnotepad/component/stage/dialog/interfaces/DialogButtonAction.java similarity index 53% rename from src/main/java/org/jcnc/jnotepad/ui/dialog/interfaces/DialogButtonAction.java rename to src/main/java/org/jcnc/jnotepad/component/stage/dialog/interfaces/DialogButtonAction.java index 3942f7a..f4bb4e4 100644 --- a/src/main/java/org/jcnc/jnotepad/ui/dialog/interfaces/DialogButtonAction.java +++ b/src/main/java/org/jcnc/jnotepad/component/stage/dialog/interfaces/DialogButtonAction.java @@ -1,6 +1,6 @@ -package org.jcnc.jnotepad.ui.dialog.interfaces; +package org.jcnc.jnotepad.component.stage.dialog.interfaces; -import org.jcnc.jnotepad.ui.dialog.AppDialog; +import org.jcnc.jnotepad.component.stage.dialog.AppDialogStage; /** * 对话框按钮点击事件接口 @@ -10,10 +10,10 @@ import org.jcnc.jnotepad.ui.dialog.AppDialog; public interface DialogButtonAction { /** * 处理按钮的操作。子类必须实现此方法以定义按钮的行为 - * @param appDialog 对话框 + * @param appDialogStage 对话框 * @apiNote * @since 2023/9/3 22:53 */ - void handleAction(AppDialog appDialog); + void handleAction(AppDialogStage appDialogStage); } diff --git a/src/main/java/org/jcnc/jnotepad/ui/module/CustomSetButton.java b/src/main/java/org/jcnc/jnotepad/component/stage/setting/CustomSetButton.java similarity index 80% rename from src/main/java/org/jcnc/jnotepad/ui/module/CustomSetButton.java rename to src/main/java/org/jcnc/jnotepad/component/stage/setting/CustomSetButton.java index 3304417..8432ca7 100644 --- a/src/main/java/org/jcnc/jnotepad/ui/module/CustomSetButton.java +++ b/src/main/java/org/jcnc/jnotepad/component/stage/setting/CustomSetButton.java @@ -1,4 +1,4 @@ -package org.jcnc.jnotepad.ui.module; +package org.jcnc.jnotepad.component.stage.setting; import javafx.scene.control.Button; diff --git a/src/main/java/org/jcnc/jnotepad/ui/setstage/DeveloperDebugStage.java b/src/main/java/org/jcnc/jnotepad/component/stage/setting/DeveloperDebugStage.java similarity index 95% rename from src/main/java/org/jcnc/jnotepad/ui/setstage/DeveloperDebugStage.java rename to src/main/java/org/jcnc/jnotepad/component/stage/setting/DeveloperDebugStage.java index c5e1bb5..cc89af0 100644 --- a/src/main/java/org/jcnc/jnotepad/ui/setstage/DeveloperDebugStage.java +++ b/src/main/java/org/jcnc/jnotepad/component/stage/setting/DeveloperDebugStage.java @@ -1,4 +1,4 @@ -package org.jcnc.jnotepad.ui.setstage; +package org.jcnc.jnotepad.component.stage.setting; import javafx.geometry.Insets; import javafx.scene.Scene; @@ -7,10 +7,10 @@ import javafx.scene.control.Label; import javafx.scene.layout.HBox; import javafx.scene.layout.VBox; import javafx.stage.Stage; -import org.jcnc.jnotepad.api.util.LogUtil; -import org.jcnc.jnotepad.api.util.PopUpUtil; -import org.jcnc.jnotepad.api.util.UiUtil; import org.jcnc.jnotepad.app.manager.ApplicationManager; +import org.jcnc.jnotepad.util.LogUtil; +import org.jcnc.jnotepad.util.PopUpUtil; +import org.jcnc.jnotepad.util.UiUtil; import org.slf4j.Logger; /** diff --git a/src/main/java/org/jcnc/jnotepad/ui/setstage/HelpPaneStage.java b/src/main/java/org/jcnc/jnotepad/component/stage/setting/HelpPaneStage.java similarity index 98% rename from src/main/java/org/jcnc/jnotepad/ui/setstage/HelpPaneStage.java rename to src/main/java/org/jcnc/jnotepad/component/stage/setting/HelpPaneStage.java index 46174c4..d25adbc 100644 --- a/src/main/java/org/jcnc/jnotepad/ui/setstage/HelpPaneStage.java +++ b/src/main/java/org/jcnc/jnotepad/component/stage/setting/HelpPaneStage.java @@ -1,4 +1,4 @@ -package org.jcnc.jnotepad.ui.setstage; +package org.jcnc.jnotepad.component.stage.setting; import atlantafx.base.controls.Notification; import atlantafx.base.theme.Styles; @@ -18,8 +18,8 @@ import javafx.scene.layout.HBox; import javafx.scene.layout.VBox; import javafx.stage.Stage; import org.jcnc.jnotepad.api.core.ui.stage.AbstractPaneStage; -import org.jcnc.jnotepad.api.util.LogUtil; -import org.jcnc.jnotepad.api.util.UiUtil; +import org.jcnc.jnotepad.util.LogUtil; +import org.jcnc.jnotepad.util.UiUtil; import org.jcnc.jnotepad.views.manager.RootManager; import static org.jcnc.jnotepad.common.constants.AppConstants.*; diff --git a/src/main/java/org/jcnc/jnotepad/ui/module/SettingsComponent.java b/src/main/java/org/jcnc/jnotepad/component/stage/setting/SetDevBox.java similarity index 92% rename from src/main/java/org/jcnc/jnotepad/ui/module/SettingsComponent.java rename to src/main/java/org/jcnc/jnotepad/component/stage/setting/SetDevBox.java index cbb2180..990c849 100644 --- a/src/main/java/org/jcnc/jnotepad/ui/module/SettingsComponent.java +++ b/src/main/java/org/jcnc/jnotepad/component/stage/setting/SetDevBox.java @@ -1,4 +1,4 @@ -package org.jcnc.jnotepad.ui.module; +package org.jcnc.jnotepad.component.stage.setting; import javafx.event.ActionEvent; import javafx.event.EventHandler; @@ -26,7 +26,7 @@ import javafx.scene.layout.VBox; * @author luke * @since 1.0.0 */ -public class SettingsComponent extends VBox { +public class SetDevBox extends VBox { private final Label label; private final Button button; @@ -36,7 +36,7 @@ public class SettingsComponent extends VBox { * @param labelText 标签文本 * @param buttonText 按钮文本 */ - public SettingsComponent(String labelText, String buttonText) { + public SetDevBox(String labelText, String buttonText) { setSpacing(10); // 初始化标签 diff --git a/src/main/java/org/jcnc/jnotepad/ui/setstage/SetStage.java b/src/main/java/org/jcnc/jnotepad/component/stage/setting/SetStage.java similarity index 97% rename from src/main/java/org/jcnc/jnotepad/ui/setstage/SetStage.java rename to src/main/java/org/jcnc/jnotepad/component/stage/setting/SetStage.java index a2656dc..6808831 100644 --- a/src/main/java/org/jcnc/jnotepad/ui/setstage/SetStage.java +++ b/src/main/java/org/jcnc/jnotepad/component/stage/setting/SetStage.java @@ -1,4 +1,4 @@ -package org.jcnc.jnotepad.ui.setstage; +package org.jcnc.jnotepad.component.stage.setting; import atlantafx.base.controls.CustomTextField; import atlantafx.base.theme.Styles; @@ -16,10 +16,8 @@ import javafx.scene.text.Font; import javafx.scene.text.Text; import javafx.stage.Modality; import javafx.stage.Stage; -import org.jcnc.jnotepad.api.util.UiUtil; import org.jcnc.jnotepad.plugin.PluginManagerInterface; -import org.jcnc.jnotepad.ui.module.CustomSetButton; -import org.jcnc.jnotepad.ui.module.SettingsComponent; +import org.jcnc.jnotepad.util.UiUtil; import static org.jcnc.jnotepad.common.constants.AppConstants.SCREEN_LENGTH; import static org.jcnc.jnotepad.common.constants.AppConstants.SCREEN_WIDTH; @@ -198,7 +196,7 @@ public class SetStage extends Stage { VBox generalLayout = new VBox(10); generalLayout.setPadding(new Insets(25)); - SettingsComponent devBox = new SettingsComponent("打开开发者调试页面", DEVELOPER_DEBUG_PAGE); + SetDevBox devBox = new SetDevBox("打开开发者调试页面", DEVELOPER_DEBUG_PAGE); devBox.setButtonAction(event -> { // 创建并启动DeveloperDebugPage DeveloperDebugStage debugPage = new DeveloperDebugStage(); diff --git a/src/main/java/org/jcnc/jnotepad/ui/setstage/pluginstage/CustomSplitPane.java b/src/main/java/org/jcnc/jnotepad/component/stage/setting/plugin/CustomSplitPane.java similarity index 96% rename from src/main/java/org/jcnc/jnotepad/ui/setstage/pluginstage/CustomSplitPane.java rename to src/main/java/org/jcnc/jnotepad/component/stage/setting/plugin/CustomSplitPane.java index 508bc5f..fb2b7be 100644 --- a/src/main/java/org/jcnc/jnotepad/ui/setstage/pluginstage/CustomSplitPane.java +++ b/src/main/java/org/jcnc/jnotepad/component/stage/setting/plugin/CustomSplitPane.java @@ -1,4 +1,4 @@ -package org.jcnc.jnotepad.ui.setstage.pluginstage; +package org.jcnc.jnotepad.component.stage.setting.plugin; import javafx.geometry.Orientation; import javafx.scene.control.SplitPane; diff --git a/src/main/java/org/jcnc/jnotepad/ui/setstage/pluginstage/PluginManagementPane.java b/src/main/java/org/jcnc/jnotepad/component/stage/setting/plugin/PluginManagementPane.java similarity index 98% rename from src/main/java/org/jcnc/jnotepad/ui/setstage/pluginstage/PluginManagementPane.java rename to src/main/java/org/jcnc/jnotepad/component/stage/setting/plugin/PluginManagementPane.java index 84fd1ba..589e31b 100644 --- a/src/main/java/org/jcnc/jnotepad/ui/setstage/pluginstage/PluginManagementPane.java +++ b/src/main/java/org/jcnc/jnotepad/component/stage/setting/plugin/PluginManagementPane.java @@ -1,4 +1,4 @@ -package org.jcnc.jnotepad.ui.setstage.pluginstage; +package org.jcnc.jnotepad.component.stage.setting.plugin; import atlantafx.base.controls.Tile; import atlantafx.base.controls.ToggleSwitch; @@ -26,12 +26,12 @@ import javafx.stage.Stage; import org.commonmark.parser.Parser; import org.commonmark.renderer.html.HtmlRenderer; import org.jcnc.jnotepad.api.core.ui.stage.AbstractPaneStage; -import org.jcnc.jnotepad.api.util.LogUtil; -import org.jcnc.jnotepad.api.util.PopUpUtil; -import org.jcnc.jnotepad.api.util.UiUtil; -import org.jcnc.jnotepad.model.entity.PluginDescriptor; +import org.jcnc.jnotepad.cache.entity.PluginDescriptor; +import org.jcnc.jnotepad.component.stage.setting.CustomSetButton; import org.jcnc.jnotepad.plugin.manager.PluginManager; -import org.jcnc.jnotepad.ui.module.CustomSetButton; +import org.jcnc.jnotepad.util.LogUtil; +import org.jcnc.jnotepad.util.PopUpUtil; +import org.jcnc.jnotepad.util.UiUtil; import org.slf4j.Logger; import java.awt.*; diff --git a/src/main/java/org/jcnc/jnotepad/controller/ResourceController.java b/src/main/java/org/jcnc/jnotepad/controller/ResourceController.java index 28fb24f..b7dada8 100644 --- a/src/main/java/org/jcnc/jnotepad/controller/ResourceController.java +++ b/src/main/java/org/jcnc/jnotepad/controller/ResourceController.java @@ -1,10 +1,10 @@ package org.jcnc.jnotepad.controller; -import org.jcnc.jnotepad.api.util.LogUtil; import org.jcnc.jnotepad.controller.config.PluginConfigController; +import org.jcnc.jnotepad.controller.exception.AppException; import org.jcnc.jnotepad.controller.i18n.LocalizationController; -import org.jcnc.jnotepad.exception.AppException; import org.jcnc.jnotepad.plugin.PluginLoader; +import org.jcnc.jnotepad.util.LogUtil; import org.slf4j.Logger; import java.io.IOException; diff --git a/src/main/java/org/jcnc/jnotepad/controller/cache/CacheController.java b/src/main/java/org/jcnc/jnotepad/controller/cache/CacheController.java index ac75c9c..fdb5569 100644 --- a/src/main/java/org/jcnc/jnotepad/controller/cache/CacheController.java +++ b/src/main/java/org/jcnc/jnotepad/controller/cache/CacheController.java @@ -1,11 +1,11 @@ package org.jcnc.jnotepad.controller.cache; import com.fasterxml.jackson.core.type.TypeReference; -import org.jcnc.jnotepad.api.util.JsonUtil; -import org.jcnc.jnotepad.api.util.LogUtil; +import org.jcnc.jnotepad.cache.entity.Cache; import org.jcnc.jnotepad.common.manager.ApplicationCacheManager; import org.jcnc.jnotepad.controller.config.AppConfigController; -import org.jcnc.jnotepad.model.entity.Cache; +import org.jcnc.jnotepad.util.JsonUtil; +import org.jcnc.jnotepad.util.LogUtil; import org.slf4j.Logger; import java.io.File; diff --git a/src/main/java/org/jcnc/jnotepad/controller/config/UserConfigController.java b/src/main/java/org/jcnc/jnotepad/controller/config/UserConfigController.java index c0c88ce..231b083 100644 --- a/src/main/java/org/jcnc/jnotepad/controller/config/UserConfigController.java +++ b/src/main/java/org/jcnc/jnotepad/controller/config/UserConfigController.java @@ -2,7 +2,7 @@ package org.jcnc.jnotepad.controller.config; import org.jcnc.jnotepad.api.core.controller.config.BaseConfigController; import org.jcnc.jnotepad.app.config.UserConfig; -import org.jcnc.jnotepad.model.entity.ShortcutKey; +import org.jcnc.jnotepad.cache.entity.ShortcutKey; import java.nio.file.Paths; import java.util.ArrayList; diff --git a/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuitem/NewFile.java b/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuitem/NewFile.java index 0310a53..ade9ce5 100644 --- a/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuitem/NewFile.java +++ b/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuitem/NewFile.java @@ -6,7 +6,7 @@ import javafx.scene.control.Tab; import org.jcnc.jnotepad.app.i18n.UiResourceBundle; import org.jcnc.jnotepad.common.constants.AppConstants; import org.jcnc.jnotepad.common.constants.TextConstants; -import org.jcnc.jnotepad.ui.module.LineNumberTextArea; +import org.jcnc.jnotepad.component.module.CodeArea; import org.jcnc.jnotepad.views.manager.BottomStatusBoxManager; import org.jcnc.jnotepad.views.manager.CenterTabPaneManager; import org.jcnc.jnotepad.views.root.center.main.center.tab.CenterTab; @@ -38,7 +38,7 @@ public class NewFile implements EventHandler { */ public void addNewFileTab() { // 创建一个新的文本编辑区 - LineNumberTextArea textArea = new LineNumberTextArea(); + CodeArea textArea = new CodeArea(); // TODO: refactor:统一TextArea新建、绑定监听器入口 // 设定初始索引 int index = 1; diff --git a/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuitem/OpenConfig.java b/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuitem/OpenConfig.java index 51ed9f8..e7efc24 100644 --- a/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuitem/OpenConfig.java +++ b/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuitem/OpenConfig.java @@ -1,8 +1,8 @@ package org.jcnc.jnotepad.controller.event.handler.menuitem; import javafx.event.ActionEvent; -import org.jcnc.jnotepad.api.util.LogUtil; import org.jcnc.jnotepad.controller.config.UserConfigController; +import org.jcnc.jnotepad.util.LogUtil; import java.io.File; diff --git a/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuitem/OpenDirectory.java b/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuitem/OpenDirectory.java index 1dd4bef..ba84dd6 100644 --- a/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuitem/OpenDirectory.java +++ b/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuitem/OpenDirectory.java @@ -3,15 +3,15 @@ package org.jcnc.jnotepad.controller.event.handler.menuitem; import javafx.event.ActionEvent; import javafx.event.EventHandler; -import org.jcnc.jnotepad.api.util.FileUtil; -import org.jcnc.jnotepad.api.util.UiUtil; import org.jcnc.jnotepad.app.i18n.UiResourceBundle; +import org.jcnc.jnotepad.cache.entity.Cache; +import org.jcnc.jnotepad.cache.entity.DirFileModel; +import org.jcnc.jnotepad.cache.enums.CacheExpirationTime; import org.jcnc.jnotepad.common.constants.TextConstants; import org.jcnc.jnotepad.common.manager.ApplicationCacheManager; -import org.jcnc.jnotepad.model.entity.Cache; -import org.jcnc.jnotepad.model.entity.DirFileModel; -import org.jcnc.jnotepad.model.enums.CacheExpirationTime; -import org.jcnc.jnotepad.ui.dialog.factory.impl.BasicDirectoryChooserFactory; +import org.jcnc.jnotepad.component.stage.dialog.factory.impl.BasicDirectoryChooserFactory; +import org.jcnc.jnotepad.util.FileUtil; +import org.jcnc.jnotepad.util.UiUtil; import org.jcnc.jnotepad.views.manager.DirectorySidebarManager; import java.io.File; diff --git a/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuitem/OpenFile.java b/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuitem/OpenFile.java index cb452a3..db19160 100644 --- a/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuitem/OpenFile.java +++ b/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuitem/OpenFile.java @@ -4,16 +4,16 @@ import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.control.Tab; import javafx.stage.FileChooser; -import org.jcnc.jnotepad.api.util.EncodingDetector; -import org.jcnc.jnotepad.api.util.LogUtil; -import org.jcnc.jnotepad.api.util.UiUtil; import org.jcnc.jnotepad.app.i18n.UiResourceBundle; +import org.jcnc.jnotepad.cache.entity.Cache; +import org.jcnc.jnotepad.cache.enums.CacheExpirationTime; import org.jcnc.jnotepad.common.constants.TextConstants; import org.jcnc.jnotepad.common.manager.ApplicationCacheManager; -import org.jcnc.jnotepad.model.entity.Cache; -import org.jcnc.jnotepad.model.enums.CacheExpirationTime; -import org.jcnc.jnotepad.ui.dialog.factory.impl.BasicFileChooserFactory; -import org.jcnc.jnotepad.ui.module.LineNumberTextArea; +import org.jcnc.jnotepad.component.module.CodeArea; +import org.jcnc.jnotepad.component.stage.dialog.factory.impl.BasicFileChooserFactory; +import org.jcnc.jnotepad.util.EncodingDetector; +import org.jcnc.jnotepad.util.LogUtil; +import org.jcnc.jnotepad.util.UiUtil; import org.jcnc.jnotepad.views.manager.CenterTabPaneManager; import org.jcnc.jnotepad.views.root.center.main.center.tab.CenterTab; import org.jcnc.jnotepad.views.root.center.main.center.tab.CenterTabPane; @@ -21,7 +21,8 @@ import org.jcnc.jnotepad.views.root.center.main.center.tab.CenterTabPane; import java.io.File; import java.nio.charset.Charset; -import static org.jcnc.jnotepad.api.util.FileUtil.getFileText; +import static org.jcnc.jnotepad.util.FileUtil.getFileText; + /** * 打开文件的事件处理程序。 @@ -92,7 +93,7 @@ public class OpenFile implements EventHandler { * @param file 文件对象 */ public static void getText(File file) { - LineNumberTextArea textArea = createNewTextArea(); + CodeArea textArea = createNewTextArea(); // 检测文件编码 Charset encoding = EncodingDetector.detectEncodingCharset(file); String fileText = getFileText(file, encoding); @@ -114,8 +115,8 @@ public class OpenFile implements EventHandler { * * @return 新的文本区域 */ - private static LineNumberTextArea createNewTextArea() { - return new LineNumberTextArea(); + private static CodeArea createNewTextArea() { + return new CodeArea(); } /** @@ -125,7 +126,7 @@ public class OpenFile implements EventHandler { * @param textArea 文本区域 * @return 新的标签页 */ - private static CenterTab createNewTab(String tabName, LineNumberTextArea textArea, Charset charset) { + private static CenterTab createNewTab(String tabName, CodeArea textArea, Charset charset) { return new CenterTab(tabName, textArea, charset); } } diff --git a/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuitem/RenameFile.java b/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuitem/RenameFile.java index 4f9031a..eb5b7c5 100644 --- a/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuitem/RenameFile.java +++ b/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuitem/RenameFile.java @@ -5,12 +5,12 @@ import javafx.event.EventHandler; import javafx.scene.control.TextField; import javafx.scene.input.KeyCode; import javafx.stage.FileChooser; -import org.jcnc.jnotepad.api.util.LogUtil; -import org.jcnc.jnotepad.api.util.PopUpUtil; -import org.jcnc.jnotepad.api.util.UiUtil; import org.jcnc.jnotepad.app.i18n.UiResourceBundle; import org.jcnc.jnotepad.common.constants.TextConstants; -import org.jcnc.jnotepad.ui.dialog.factory.impl.BasicFileChooserFactory; +import org.jcnc.jnotepad.component.stage.dialog.factory.impl.BasicFileChooserFactory; +import org.jcnc.jnotepad.util.LogUtil; +import org.jcnc.jnotepad.util.PopUpUtil; +import org.jcnc.jnotepad.util.UiUtil; import org.jcnc.jnotepad.views.manager.CenterTabPaneManager; import org.jcnc.jnotepad.views.root.center.main.center.tab.CenterTab; import org.jcnc.jnotepad.views.root.center.main.center.tab.CenterTabPane; diff --git a/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuitem/SaveAsFile.java b/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuitem/SaveAsFile.java index 2f5fa40..48cdf0b 100644 --- a/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuitem/SaveAsFile.java +++ b/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuitem/SaveAsFile.java @@ -1,8 +1,7 @@ package org.jcnc.jnotepad.controller.event.handler.menuitem; import javafx.event.ActionEvent; -import org.jcnc.jnotepad.api.util.LogUtil; - +import org.jcnc.jnotepad.util.LogUtil; /** * 保存文件事件处理器。 diff --git a/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuitem/SaveFile.java b/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuitem/SaveFile.java index a14c1f2..acf24ee 100644 --- a/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuitem/SaveFile.java +++ b/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuitem/SaveFile.java @@ -3,16 +3,16 @@ package org.jcnc.jnotepad.controller.event.handler.menuitem; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.stage.FileChooser; -import org.jcnc.jnotepad.api.util.LogUtil; -import org.jcnc.jnotepad.api.util.UiUtil; import org.jcnc.jnotepad.app.i18n.UiResourceBundle; +import org.jcnc.jnotepad.cache.entity.Cache; +import org.jcnc.jnotepad.cache.enums.CacheExpirationTime; import org.jcnc.jnotepad.common.constants.TextConstants; import org.jcnc.jnotepad.common.manager.ApplicationCacheManager; +import org.jcnc.jnotepad.component.stage.dialog.factory.impl.BasicFileChooserFactory; import org.jcnc.jnotepad.controller.config.UserConfigController; import org.jcnc.jnotepad.controller.i18n.LocalizationController; -import org.jcnc.jnotepad.model.entity.Cache; -import org.jcnc.jnotepad.model.enums.CacheExpirationTime; -import org.jcnc.jnotepad.ui.dialog.factory.impl.BasicFileChooserFactory; +import org.jcnc.jnotepad.util.LogUtil; +import org.jcnc.jnotepad.util.UiUtil; import org.jcnc.jnotepad.views.manager.CenterTabPaneManager; import org.jcnc.jnotepad.views.manager.TopMenuBarManager; import org.jcnc.jnotepad.views.root.center.main.center.tab.CenterTab; diff --git a/src/main/java/org/jcnc/jnotepad/controller/event/handler/setting/SetBtn.java b/src/main/java/org/jcnc/jnotepad/controller/event/handler/setting/SetBtn.java index 5665d51..4426af2 100644 --- a/src/main/java/org/jcnc/jnotepad/controller/event/handler/setting/SetBtn.java +++ b/src/main/java/org/jcnc/jnotepad/controller/event/handler/setting/SetBtn.java @@ -2,7 +2,7 @@ package org.jcnc.jnotepad.controller.event.handler.setting; import javafx.event.ActionEvent; import javafx.event.EventHandler; -import org.jcnc.jnotepad.ui.setstage.SetStage; +import org.jcnc.jnotepad.component.stage.setting.SetStage; /** * 设置按钮事件的事件处理程序。 diff --git a/src/main/java/org/jcnc/jnotepad/exception/AppException.java b/src/main/java/org/jcnc/jnotepad/controller/exception/AppException.java similarity index 92% rename from src/main/java/org/jcnc/jnotepad/exception/AppException.java rename to src/main/java/org/jcnc/jnotepad/controller/exception/AppException.java index 6d3f2a6..9d11340 100644 --- a/src/main/java/org/jcnc/jnotepad/exception/AppException.java +++ b/src/main/java/org/jcnc/jnotepad/controller/exception/AppException.java @@ -1,4 +1,4 @@ -package org.jcnc.jnotepad.exception; +package org.jcnc.jnotepad.controller.exception; /** * 应用异常类,用于处理应用程序中的异常情况。 diff --git a/src/main/java/org/jcnc/jnotepad/controller/manager/Controller.java b/src/main/java/org/jcnc/jnotepad/controller/manager/Controller.java index d07ea28..c299b2f 100644 --- a/src/main/java/org/jcnc/jnotepad/controller/manager/Controller.java +++ b/src/main/java/org/jcnc/jnotepad/controller/manager/Controller.java @@ -1,7 +1,7 @@ package org.jcnc.jnotepad.controller.manager; -import org.jcnc.jnotepad.common.interfaces.ControllerAble; import org.jcnc.jnotepad.common.manager.ApplicationCacheManager; +import org.jcnc.jnotepad.component.module.interfaces.ControllerAble; import org.jcnc.jnotepad.controller.event.handler.menuitem.NewFile; import org.jcnc.jnotepad.controller.event.handler.menuitem.OpenFile; diff --git a/src/main/java/org/jcnc/jnotepad/plugin/PluginLoader.java b/src/main/java/org/jcnc/jnotepad/plugin/PluginLoader.java index be9e5d6..72a1e0e 100644 --- a/src/main/java/org/jcnc/jnotepad/plugin/PluginLoader.java +++ b/src/main/java/org/jcnc/jnotepad/plugin/PluginLoader.java @@ -1,13 +1,13 @@ package org.jcnc.jnotepad.plugin; -import org.jcnc.jnotepad.api.util.JsonUtil; -import org.jcnc.jnotepad.api.util.LogUtil; +import org.jcnc.jnotepad.cache.entity.PluginDescriptor; import org.jcnc.jnotepad.common.manager.ThreadPoolManager; import org.jcnc.jnotepad.controller.config.PluginConfigController; -import org.jcnc.jnotepad.exception.AppException; -import org.jcnc.jnotepad.model.entity.PluginDescriptor; +import org.jcnc.jnotepad.controller.exception.AppException; import org.jcnc.jnotepad.plugin.interfaces.Plugin; import org.jcnc.jnotepad.plugin.manager.PluginManager; +import org.jcnc.jnotepad.util.JsonUtil; +import org.jcnc.jnotepad.util.LogUtil; import org.slf4j.Logger; import java.io.*; diff --git a/src/main/java/org/jcnc/jnotepad/plugin/PluginManagerInterface.java b/src/main/java/org/jcnc/jnotepad/plugin/PluginManagerInterface.java index bda6b72..8011ca7 100644 --- a/src/main/java/org/jcnc/jnotepad/plugin/PluginManagerInterface.java +++ b/src/main/java/org/jcnc/jnotepad/plugin/PluginManagerInterface.java @@ -6,11 +6,11 @@ import javafx.scene.control.Label; import javafx.scene.layout.VBox; import javafx.stage.FileChooser; import javafx.stage.Stage; -import org.jcnc.jnotepad.api.util.LogUtil; -import org.jcnc.jnotepad.api.util.PopUpUtil; -import org.jcnc.jnotepad.api.util.UiUtil; +import org.jcnc.jnotepad.component.stage.dialog.factory.impl.BasicFileChooserFactory; import org.jcnc.jnotepad.plugin.manager.PluginManager; -import org.jcnc.jnotepad.ui.dialog.factory.impl.BasicFileChooserFactory; +import org.jcnc.jnotepad.util.LogUtil; +import org.jcnc.jnotepad.util.PopUpUtil; +import org.jcnc.jnotepad.util.UiUtil; import org.slf4j.Logger; import java.io.File; diff --git a/src/main/java/org/jcnc/jnotepad/plugin/manager/PluginManager.java b/src/main/java/org/jcnc/jnotepad/plugin/manager/PluginManager.java index 21fa55c..40693c8 100644 --- a/src/main/java/org/jcnc/jnotepad/plugin/manager/PluginManager.java +++ b/src/main/java/org/jcnc/jnotepad/plugin/manager/PluginManager.java @@ -1,11 +1,11 @@ package org.jcnc.jnotepad.plugin.manager; -import org.jcnc.jnotepad.api.util.LogUtil; -import org.jcnc.jnotepad.api.util.PopUpUtil; import org.jcnc.jnotepad.app.manager.ApplicationManager; +import org.jcnc.jnotepad.cache.entity.PluginDescriptor; import org.jcnc.jnotepad.common.manager.ThreadPoolManager; import org.jcnc.jnotepad.controller.config.PluginConfigController; -import org.jcnc.jnotepad.model.entity.PluginDescriptor; +import org.jcnc.jnotepad.util.LogUtil; +import org.jcnc.jnotepad.util.PopUpUtil; import org.slf4j.Logger; import java.io.File; diff --git a/src/main/java/org/jcnc/jnotepad/ui/module/TerminalEmulatorComponent.java b/src/main/java/org/jcnc/jnotepad/ui/module/TerminalEmulatorComponent.java deleted file mode 100644 index ef8ab6a..0000000 --- a/src/main/java/org/jcnc/jnotepad/ui/module/TerminalEmulatorComponent.java +++ /dev/null @@ -1,80 +0,0 @@ -package org.jcnc.jnotepad.ui.module; - -import javafx.application.Platform; -import javafx.scene.control.TextField; -import javafx.scene.input.KeyCode; -import javafx.scene.layout.BorderPane; -import org.fxmisc.richtext.CodeArea; -import org.fxmisc.richtext.LineNumberFactory; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStreamReader; - -/** - * 终端仿真器组件,用于执行命令并显示输出。 - *

- * 该组件包括一个用于输入命令的文本字段和一个显示命令输出的CodeArea。 - * 用户可以在文本字段中输入命令,按回车键执行,并在CodeArea中查看输出。 - * - * @author luke - */ -public class TerminalEmulatorComponent extends BorderPane { - - private CodeArea terminalOutput; - - /** - * 创建一个新的终端仿真器组件。 - */ - public TerminalEmulatorComponent() { - init(); - } - - private void init() { - terminalOutput = new CodeArea(); - TextField commandInput = new TextField(); - - // 设置行号 - terminalOutput.setParagraphGraphicFactory(LineNumberFactory.get(terminalOutput)); - - commandInput.setOnKeyPressed(event -> { - if (event.getCode() == KeyCode.ENTER) { - String command = commandInput.getText(); - executeCommand(command); - commandInput.clear(); - } - }); - - setCenter(terminalOutput); - setBottom(commandInput); - } - - private void executeCommand(String command) { - try { - ProcessBuilder processBuilder = new ProcessBuilder(command.split(" ")); - processBuilder.redirectErrorStream(true); - Process process = processBuilder.start(); - - BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream(), "GBK")); - String line; - while ((line = reader.readLine()) != null) { - appendToTerminalOutput(line + "\n"); - } - - int exitCode = process.waitFor(); - appendToTerminalOutput("Exit Code: " + exitCode + "\n"); - - } catch (IOException | InterruptedException e) { - appendToTerminalOutput("Error: " + e.getMessage() + "\n"); - } - } - - private void appendToTerminalOutput(String text) { - Platform.runLater(() -> { - terminalOutput.appendText(text); - // 将滚动条滚动到最后一行 - terminalOutput.moveTo(terminalOutput.getLength()); - terminalOutput.requestFollowCaret(); - }); - } -} diff --git a/src/main/java/org/jcnc/jnotepad/api/util/EncodingDetector.java b/src/main/java/org/jcnc/jnotepad/util/EncodingDetector.java similarity index 98% rename from src/main/java/org/jcnc/jnotepad/api/util/EncodingDetector.java rename to src/main/java/org/jcnc/jnotepad/util/EncodingDetector.java index 49b762f..9511288 100644 --- a/src/main/java/org/jcnc/jnotepad/api/util/EncodingDetector.java +++ b/src/main/java/org/jcnc/jnotepad/util/EncodingDetector.java @@ -1,4 +1,4 @@ -package org.jcnc.jnotepad.api.util; +package org.jcnc.jnotepad.util; import com.ibm.icu.text.CharsetDetector; import com.ibm.icu.text.CharsetMatch; diff --git a/src/main/java/org/jcnc/jnotepad/api/util/FileUtil.java b/src/main/java/org/jcnc/jnotepad/util/FileUtil.java similarity index 97% rename from src/main/java/org/jcnc/jnotepad/api/util/FileUtil.java rename to src/main/java/org/jcnc/jnotepad/util/FileUtil.java index 47674bd..3ff41e5 100644 --- a/src/main/java/org/jcnc/jnotepad/api/util/FileUtil.java +++ b/src/main/java/org/jcnc/jnotepad/util/FileUtil.java @@ -1,8 +1,8 @@ -package org.jcnc.jnotepad.api.util; +package org.jcnc.jnotepad.util; +import org.jcnc.jnotepad.cache.entity.DirFileModel; import org.jcnc.jnotepad.controller.event.handler.menuitem.OpenFile; -import org.jcnc.jnotepad.exception.AppException; -import org.jcnc.jnotepad.model.entity.DirFileModel; +import org.jcnc.jnotepad.controller.exception.AppException; import org.kordamp.ikonli.javafx.FontIcon; import java.io.*; diff --git a/src/main/java/org/jcnc/jnotepad/api/util/JsonUtil.java b/src/main/java/org/jcnc/jnotepad/util/JsonUtil.java similarity index 96% rename from src/main/java/org/jcnc/jnotepad/api/util/JsonUtil.java rename to src/main/java/org/jcnc/jnotepad/util/JsonUtil.java index 6096427..7960f5e 100644 --- a/src/main/java/org/jcnc/jnotepad/api/util/JsonUtil.java +++ b/src/main/java/org/jcnc/jnotepad/util/JsonUtil.java @@ -1,4 +1,4 @@ -package org.jcnc.jnotepad.api.util; +package org.jcnc.jnotepad.util; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; @@ -6,7 +6,7 @@ import com.fasterxml.jackson.core.util.DefaultIndenter; import com.fasterxml.jackson.core.util.DefaultPrettyPrinter; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializationFeature; -import org.jcnc.jnotepad.exception.AppException; +import org.jcnc.jnotepad.controller.exception.AppException; import static com.fasterxml.jackson.core.util.DefaultIndenter.SYS_LF; diff --git a/src/main/java/org/jcnc/jnotepad/api/util/LogUtil.java b/src/main/java/org/jcnc/jnotepad/util/LogUtil.java similarity index 95% rename from src/main/java/org/jcnc/jnotepad/api/util/LogUtil.java rename to src/main/java/org/jcnc/jnotepad/util/LogUtil.java index 4fda39f..34eb0d4 100644 --- a/src/main/java/org/jcnc/jnotepad/api/util/LogUtil.java +++ b/src/main/java/org/jcnc/jnotepad/util/LogUtil.java @@ -1,4 +1,4 @@ -package org.jcnc.jnotepad.api.util; +package org.jcnc.jnotepad.util; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/src/main/java/org/jcnc/jnotepad/api/util/PopUpUtil.java b/src/main/java/org/jcnc/jnotepad/util/PopUpUtil.java similarity index 95% rename from src/main/java/org/jcnc/jnotepad/api/util/PopUpUtil.java rename to src/main/java/org/jcnc/jnotepad/util/PopUpUtil.java index ca53364..71bc75d 100644 --- a/src/main/java/org/jcnc/jnotepad/api/util/PopUpUtil.java +++ b/src/main/java/org/jcnc/jnotepad/util/PopUpUtil.java @@ -1,8 +1,8 @@ -package org.jcnc.jnotepad.api.util; +package org.jcnc.jnotepad.util; -import org.jcnc.jnotepad.model.enums.DialogType; -import org.jcnc.jnotepad.ui.dialog.AppDialogBuilder; -import org.jcnc.jnotepad.ui.dialog.interfaces.DialogButtonAction; +import org.jcnc.jnotepad.cache.enums.DialogType; +import org.jcnc.jnotepad.component.stage.dialog.AppDialogBuilder; +import org.jcnc.jnotepad.component.stage.dialog.interfaces.DialogButtonAction; /** * 弹窗工具类 diff --git a/src/main/java/org/jcnc/jnotepad/api/util/UiUtil.java b/src/main/java/org/jcnc/jnotepad/util/UiUtil.java similarity index 98% rename from src/main/java/org/jcnc/jnotepad/api/util/UiUtil.java rename to src/main/java/org/jcnc/jnotepad/util/UiUtil.java index b5598d0..250cc33 100644 --- a/src/main/java/org/jcnc/jnotepad/api/util/UiUtil.java +++ b/src/main/java/org/jcnc/jnotepad/util/UiUtil.java @@ -1,4 +1,4 @@ -package org.jcnc.jnotepad.api.util; +package org.jcnc.jnotepad.util; import atlantafx.base.theme.Styles; import javafx.scene.image.Image; diff --git a/src/main/java/org/jcnc/jnotepad/views/manager/BottomStatusBoxManager.java b/src/main/java/org/jcnc/jnotepad/views/manager/BottomStatusBoxManager.java index ed12a5b..a94565a 100644 --- a/src/main/java/org/jcnc/jnotepad/views/manager/BottomStatusBoxManager.java +++ b/src/main/java/org/jcnc/jnotepad/views/manager/BottomStatusBoxManager.java @@ -7,7 +7,7 @@ import javafx.scene.control.Label; import javafx.scene.layout.HBox; import org.jcnc.jnotepad.app.i18n.UiResourceBundle; import org.jcnc.jnotepad.common.constants.TextConstants; -import org.jcnc.jnotepad.ui.module.LineNumberTextArea; +import org.jcnc.jnotepad.component.module.CodeArea; import org.jcnc.jnotepad.views.root.bottom.status.BottomStatusBox; import org.jcnc.jnotepad.views.root.center.main.center.tab.CenterTab; @@ -106,7 +106,7 @@ public class BottomStatusBoxManager { if (instance.getSelected() == null) { return; } - LineNumberTextArea textArea = instance.getSelected().getLineNumberTextArea(); + CodeArea textArea = instance.getSelected().getLineNumberTextArea(); int caretPosition = textArea.getCaretPosition(); int row = getRow(caretPosition, textArea.getText()); int column = getColumn(caretPosition, textArea.getText()); @@ -128,7 +128,7 @@ public class BottomStatusBoxManager { updateEncodingLabel(centerTab.getCharset().name()); // 添加光标位置变化监听器 - LineNumberTextArea textArea = centerTab.getLineNumberTextArea(); + CodeArea textArea = centerTab.getLineNumberTextArea(); textArea.caretPositionProperty().addListener((ChangeListener) (observable, oldValue, newValue) -> updateRowColumnLabel(textArea.getCaretPosition(), textArea.getText())); } } diff --git a/src/main/java/org/jcnc/jnotepad/views/manager/CenterTabPaneManager.java b/src/main/java/org/jcnc/jnotepad/views/manager/CenterTabPaneManager.java index 61f55e0..a49d541 100644 --- a/src/main/java/org/jcnc/jnotepad/views/manager/CenterTabPaneManager.java +++ b/src/main/java/org/jcnc/jnotepad/views/manager/CenterTabPaneManager.java @@ -3,12 +3,12 @@ package org.jcnc.jnotepad.views.manager; import javafx.collections.ObservableList; import javafx.scene.control.Tab; import javafx.stage.Stage; -import org.jcnc.jnotepad.api.util.FileUtil; -import org.jcnc.jnotepad.api.util.PopUpUtil; +import org.jcnc.jnotepad.cache.enums.CacheExpirationTime; import org.jcnc.jnotepad.common.manager.ApplicationCacheManager; +import org.jcnc.jnotepad.component.module.CodeArea; import org.jcnc.jnotepad.controller.config.UserConfigController; -import org.jcnc.jnotepad.model.enums.CacheExpirationTime; -import org.jcnc.jnotepad.ui.module.LineNumberTextArea; +import org.jcnc.jnotepad.util.FileUtil; +import org.jcnc.jnotepad.util.PopUpUtil; import org.jcnc.jnotepad.views.root.center.main.center.tab.CenterTab; import org.jcnc.jnotepad.views.root.center.main.center.tab.CenterTabPane; import org.jcnc.jnotepad.views.root.top.menubar.TopMenuBar; @@ -79,7 +79,7 @@ public class CenterTabPaneManager { } if (tab.isRelevance()) { // 获取当前文本域对象 - LineNumberTextArea lineNumberTextArea = tab.getLineNumberTextArea(); + CodeArea codeArea = tab.getLineNumberTextArea(); // 获取当前标签页对应文件上次修改时间 Long lastModifiedTime = tab.getLastModifiedTimeOfAssociatedFile(); // 获取对应文件上次修改时间 @@ -95,8 +95,8 @@ public class CenterTabPaneManager { PopUpUtil.questionAlert( "重新加载", file.getAbsolutePath(), "此文件已被外部修改,是否重新加载该文件?", appDialog -> { - lineNumberTextArea.clear(); - lineNumberTextArea.appendText(fileText); + codeArea.clear(); + codeArea.appendText(fileText); appDialog.close(); }, Stage::close, "是", "否"); } diff --git a/src/main/java/org/jcnc/jnotepad/views/manager/DirectorySidebarManager.java b/src/main/java/org/jcnc/jnotepad/views/manager/DirectorySidebarManager.java index 61d6d79..cd536e7 100644 --- a/src/main/java/org/jcnc/jnotepad/views/manager/DirectorySidebarManager.java +++ b/src/main/java/org/jcnc/jnotepad/views/manager/DirectorySidebarManager.java @@ -3,10 +3,10 @@ package org.jcnc.jnotepad.views.manager; import javafx.beans.value.ChangeListener; import javafx.scene.control.SplitPane; import javafx.scene.control.TreeItem; -import org.jcnc.jnotepad.api.util.FileUtil; +import org.jcnc.jnotepad.cache.entity.DirFileModel; import org.jcnc.jnotepad.common.manager.ApplicationCacheManager; import org.jcnc.jnotepad.controller.event.handler.menuitem.OpenDirectory; -import org.jcnc.jnotepad.model.entity.DirFileModel; +import org.jcnc.jnotepad.util.FileUtil; import org.jcnc.jnotepad.views.root.center.main.MainBorderPane; import org.jcnc.jnotepad.views.root.center.main.center.directory.DirectorySidebarPane; diff --git a/src/main/java/org/jcnc/jnotepad/views/manager/RootManager.java b/src/main/java/org/jcnc/jnotepad/views/manager/RootManager.java index b72f003..ecd7081 100644 --- a/src/main/java/org/jcnc/jnotepad/views/manager/RootManager.java +++ b/src/main/java/org/jcnc/jnotepad/views/manager/RootManager.java @@ -10,7 +10,7 @@ import javafx.scene.layout.BorderPane; import javafx.scene.layout.Region; import javafx.scene.layout.StackPane; import javafx.util.Duration; -import org.jcnc.jnotepad.exception.AppException; +import org.jcnc.jnotepad.controller.exception.AppException; import org.jcnc.jnotepad.views.root.RootBorderPane; /** diff --git a/src/main/java/org/jcnc/jnotepad/views/manager/TopMenuBarManager.java b/src/main/java/org/jcnc/jnotepad/views/manager/TopMenuBarManager.java index 95de559..5af2759 100644 --- a/src/main/java/org/jcnc/jnotepad/views/manager/TopMenuBarManager.java +++ b/src/main/java/org/jcnc/jnotepad/views/manager/TopMenuBarManager.java @@ -6,9 +6,9 @@ import javafx.scene.control.Menu; import javafx.scene.control.MenuItem; import javafx.scene.input.KeyCombination; import org.jcnc.jnotepad.api.core.views.manager.AbstractManager; -import org.jcnc.jnotepad.api.util.LogUtil; +import org.jcnc.jnotepad.cache.entity.ShortcutKey; import org.jcnc.jnotepad.controller.config.UserConfigController; -import org.jcnc.jnotepad.model.entity.ShortcutKey; +import org.jcnc.jnotepad.util.LogUtil; import org.jcnc.jnotepad.views.root.top.menubar.TopMenuBar; import org.jcnc.jnotepad.views.root.top.menubar.menu.*; import org.slf4j.Logger; diff --git a/src/main/java/org/jcnc/jnotepad/views/root/RootBorderPane.java b/src/main/java/org/jcnc/jnotepad/views/root/RootBorderPane.java index 2959c36..88b50b4 100644 --- a/src/main/java/org/jcnc/jnotepad/views/root/RootBorderPane.java +++ b/src/main/java/org/jcnc/jnotepad/views/root/RootBorderPane.java @@ -1,6 +1,6 @@ package org.jcnc.jnotepad.views.root; -import org.jcnc.jnotepad.ui.module.AbstractBorderPane; +import org.jcnc.jnotepad.component.module.base.AbstractBorderPane; /** * RootBorderPane 表示 JNotepad 应用程序的根布局。 diff --git a/src/main/java/org/jcnc/jnotepad/views/root/bottom/RootBottomSideBarVerticalBox.java b/src/main/java/org/jcnc/jnotepad/views/root/bottom/RootBottomSideBarVerticalBox.java index 336fbd0..ade0095 100644 --- a/src/main/java/org/jcnc/jnotepad/views/root/bottom/RootBottomSideBarVerticalBox.java +++ b/src/main/java/org/jcnc/jnotepad/views/root/bottom/RootBottomSideBarVerticalBox.java @@ -1,7 +1,7 @@ package org.jcnc.jnotepad.views.root.bottom; import javafx.scene.layout.VBox; -import org.jcnc.jnotepad.ui.module.AbstractVerticalBox; +import org.jcnc.jnotepad.component.module.base.AbstractVerticalBox; /** * 底部根侧边栏垂直布局 diff --git a/src/main/java/org/jcnc/jnotepad/views/root/bottom/status/BottomStatusBox.java b/src/main/java/org/jcnc/jnotepad/views/root/bottom/status/BottomStatusBox.java index 4ebc6c0..40a9991 100644 --- a/src/main/java/org/jcnc/jnotepad/views/root/bottom/status/BottomStatusBox.java +++ b/src/main/java/org/jcnc/jnotepad/views/root/bottom/status/BottomStatusBox.java @@ -1,7 +1,7 @@ package org.jcnc.jnotepad.views.root.bottom.status; import javafx.scene.control.Label; -import org.jcnc.jnotepad.ui.module.AbstractHorizontalBox; +import org.jcnc.jnotepad.component.module.base.AbstractHorizontalBox; /** * 状态栏组件封装。 diff --git a/src/main/java/org/jcnc/jnotepad/views/root/center/main/MainBorderPane.java b/src/main/java/org/jcnc/jnotepad/views/root/center/main/MainBorderPane.java index 936ce04..5bbef69 100644 --- a/src/main/java/org/jcnc/jnotepad/views/root/center/main/MainBorderPane.java +++ b/src/main/java/org/jcnc/jnotepad/views/root/center/main/MainBorderPane.java @@ -1,6 +1,6 @@ package org.jcnc.jnotepad.views.root.center.main; -import org.jcnc.jnotepad.ui.module.AbstractBorderPane; +import org.jcnc.jnotepad.component.module.base.AbstractBorderPane; /** * 主界面边界布局 diff --git a/src/main/java/org/jcnc/jnotepad/views/root/center/main/center/directory/DirectorySidebarPane.java b/src/main/java/org/jcnc/jnotepad/views/root/center/main/center/directory/DirectorySidebarPane.java index 9df82d8..54ddbf8 100644 --- a/src/main/java/org/jcnc/jnotepad/views/root/center/main/center/directory/DirectorySidebarPane.java +++ b/src/main/java/org/jcnc/jnotepad/views/root/center/main/center/directory/DirectorySidebarPane.java @@ -2,8 +2,8 @@ package org.jcnc.jnotepad.views.root.center.main.center.directory; import javafx.scene.control.TreeItem; import javafx.scene.control.TreeView; +import org.jcnc.jnotepad.cache.entity.DirFileModel; import org.jcnc.jnotepad.controller.event.handler.menuitem.OpenFile; -import org.jcnc.jnotepad.model.entity.DirFileModel; import java.io.File; import java.util.Objects; diff --git a/src/main/java/org/jcnc/jnotepad/views/root/center/main/center/tab/CenterTab.java b/src/main/java/org/jcnc/jnotepad/views/root/center/main/center/tab/CenterTab.java index f50359d..4cbbb55 100644 --- a/src/main/java/org/jcnc/jnotepad/views/root/center/main/center/tab/CenterTab.java +++ b/src/main/java/org/jcnc/jnotepad/views/root/center/main/center/tab/CenterTab.java @@ -2,9 +2,9 @@ package org.jcnc.jnotepad.views.root.center.main.center.tab; import javafx.scene.control.Tab; import org.fxmisc.flowless.VirtualizedScrollPane; -import org.jcnc.jnotepad.api.util.LogUtil; +import org.jcnc.jnotepad.component.module.CodeArea; import org.jcnc.jnotepad.controller.config.UserConfigController; -import org.jcnc.jnotepad.ui.module.LineNumberTextArea; +import org.jcnc.jnotepad.util.LogUtil; import org.jcnc.jnotepad.views.manager.BottomStatusBoxManager; import org.jcnc.jnotepad.views.manager.CenterTabPaneManager; import org.slf4j.Logger; @@ -23,7 +23,7 @@ import java.nio.charset.Charset; */ public class CenterTab extends Tab { Logger logger = LogUtil.getLogger(this.getClass()); - private final LineNumberTextArea lineNumberTextArea; + private final CodeArea codeArea; /** * 默认关闭自动换行 */ @@ -39,18 +39,18 @@ public class CenterTab extends Tab { private Charset charset = Charset.defaultCharset(); public CenterTab(String tabTitle) { - this(tabTitle, new LineNumberTextArea()); + this(tabTitle, new CodeArea()); } - public CenterTab(String tabTitle, LineNumberTextArea textArea) { + public CenterTab(String tabTitle, CodeArea textArea) { this(tabTitle, textArea, Charset.defaultCharset()); } - public CenterTab(String tabTitle, LineNumberTextArea textArea, Charset charset) { + public CenterTab(String tabTitle, CodeArea textArea, Charset charset) { super(tabTitle); - lineNumberTextArea = textArea; + codeArea = textArea; initTextAreaListeners(); - this.setContent(new VirtualizedScrollPane<>(lineNumberTextArea)); + this.setContent(new VirtualizedScrollPane<>(codeArea)); setAutoLine(UserConfigController.getInstance().getAutoLineConfig()); this.charset = charset; } @@ -69,11 +69,11 @@ public class CenterTab extends Tab { public void setAutoLine(boolean autoLine) { this.autoLine = autoLine; - lineNumberTextArea.setWrapText(autoLine); + codeArea.setWrapText(autoLine); } - public LineNumberTextArea getLineNumberTextArea() { - return lineNumberTextArea; + public CodeArea getLineNumberTextArea() { + return codeArea; } public Charset getCharset() { @@ -126,7 +126,7 @@ public class CenterTab extends Tab { */ private void initTextAreaListeners() { // 监听主要文本区域的文本变化 - lineNumberTextArea.textProperty().addListener((observable, oldValue, newValue) -> { + codeArea.textProperty().addListener((observable, oldValue, newValue) -> { BottomStatusBoxManager.getInstance().updateWordCountStatusLabel(); saveSelectedFileTab(); }); diff --git a/src/main/java/org/jcnc/jnotepad/views/root/left/sidebar/tools/ToolHorizontalBox.java b/src/main/java/org/jcnc/jnotepad/views/root/left/sidebar/tools/ToolHorizontalBox.java index bb5353b..582c2b5 100644 --- a/src/main/java/org/jcnc/jnotepad/views/root/left/sidebar/tools/ToolHorizontalBox.java +++ b/src/main/java/org/jcnc/jnotepad/views/root/left/sidebar/tools/ToolHorizontalBox.java @@ -2,7 +2,7 @@ package org.jcnc.jnotepad.views.root.left.sidebar.tools; import javafx.scene.layout.HBox; import javafx.scene.layout.Priority; -import org.jcnc.jnotepad.ui.module.AbstractHorizontalBox; +import org.jcnc.jnotepad.component.module.base.AbstractHorizontalBox; /** * ToolHBox 是 JNotepad 应用程序的工具栏水平布局类。 diff --git a/src/main/java/org/jcnc/jnotepad/views/root/left/sidebar/tools/ToolVerticalBox.java b/src/main/java/org/jcnc/jnotepad/views/root/left/sidebar/tools/ToolVerticalBox.java index 8f2f74c..4b16b08 100644 --- a/src/main/java/org/jcnc/jnotepad/views/root/left/sidebar/tools/ToolVerticalBox.java +++ b/src/main/java/org/jcnc/jnotepad/views/root/left/sidebar/tools/ToolVerticalBox.java @@ -2,7 +2,7 @@ package org.jcnc.jnotepad.views.root.left.sidebar.tools; import javafx.scene.layout.Priority; import javafx.scene.layout.VBox; -import org.jcnc.jnotepad.ui.module.AbstractVerticalBox; +import org.jcnc.jnotepad.component.module.base.AbstractVerticalBox; /** * 垂直布局类 diff --git a/src/main/java/org/jcnc/jnotepad/views/root/right/RootRightSideBarVerticalBox.java b/src/main/java/org/jcnc/jnotepad/views/root/right/RootRightSideBarVerticalBox.java index 9d69dbf..6de4e90 100644 --- a/src/main/java/org/jcnc/jnotepad/views/root/right/RootRightSideBarVerticalBox.java +++ b/src/main/java/org/jcnc/jnotepad/views/root/right/RootRightSideBarVerticalBox.java @@ -1,6 +1,6 @@ package org.jcnc.jnotepad.views.root.right; -import org.jcnc.jnotepad.ui.module.AbstractVerticalBox; +import org.jcnc.jnotepad.component.module.base.AbstractVerticalBox; /** * 右侧边栏的垂直布局容器类。 diff --git a/src/main/java/org/jcnc/jnotepad/views/root/top/RootTopBorderPane.java b/src/main/java/org/jcnc/jnotepad/views/root/top/RootTopBorderPane.java index 3972878..7cd3d7a 100644 --- a/src/main/java/org/jcnc/jnotepad/views/root/top/RootTopBorderPane.java +++ b/src/main/java/org/jcnc/jnotepad/views/root/top/RootTopBorderPane.java @@ -1,6 +1,6 @@ package org.jcnc.jnotepad.views.root.top; -import org.jcnc.jnotepad.ui.module.AbstractBorderPane; +import org.jcnc.jnotepad.component.module.base.AbstractBorderPane; /** * RootTopBorderPane 类表示 JNotepad 应用程序的顶部边界面板。 diff --git a/src/main/java/org/jcnc/jnotepad/views/root/top/menubar/menu/HelpTopMenu.java b/src/main/java/org/jcnc/jnotepad/views/root/top/menubar/menu/HelpTopMenu.java index 2d9b728..b00943c 100644 --- a/src/main/java/org/jcnc/jnotepad/views/root/top/menubar/menu/HelpTopMenu.java +++ b/src/main/java/org/jcnc/jnotepad/views/root/top/menubar/menu/HelpTopMenu.java @@ -4,7 +4,7 @@ import javafx.scene.control.Menu; import javafx.scene.control.MenuItem; import javafx.stage.Stage; import org.jcnc.jnotepad.api.core.views.top.menu.AbstractTopMenu; -import org.jcnc.jnotepad.ui.setstage.HelpPaneStage; +import org.jcnc.jnotepad.component.stage.setting.HelpPaneStage; import java.util.HashMap; import java.util.Map; diff --git a/src/main/java/org/jcnc/jnotepad/views/root/top/menubar/menu/PluginTopMenu.java b/src/main/java/org/jcnc/jnotepad/views/root/top/menubar/menu/PluginTopMenu.java index d2ec180..c6c499d 100644 --- a/src/main/java/org/jcnc/jnotepad/views/root/top/menubar/menu/PluginTopMenu.java +++ b/src/main/java/org/jcnc/jnotepad/views/root/top/menubar/menu/PluginTopMenu.java @@ -3,7 +3,7 @@ package org.jcnc.jnotepad.views.root.top.menubar.menu; import javafx.scene.control.Menu; import javafx.scene.control.MenuItem; import org.jcnc.jnotepad.api.core.views.top.menu.AbstractTopMenu; -import org.jcnc.jnotepad.ui.setstage.pluginstage.PluginManagementPane; +import org.jcnc.jnotepad.component.stage.setting.plugin.PluginManagementPane; import java.util.HashMap; import java.util.Map; diff --git a/src/main/java/org/jcnc/jnotepad/views/root/top/menubar/menu/SettingTopMenu.java b/src/main/java/org/jcnc/jnotepad/views/root/top/menubar/menu/SettingTopMenu.java index 9282707..e4d262d 100644 --- a/src/main/java/org/jcnc/jnotepad/views/root/top/menubar/menu/SettingTopMenu.java +++ b/src/main/java/org/jcnc/jnotepad/views/root/top/menubar/menu/SettingTopMenu.java @@ -4,9 +4,9 @@ import javafx.scene.control.Menu; import javafx.scene.control.MenuItem; import javafx.stage.Stage; import org.jcnc.jnotepad.api.core.views.top.menu.AbstractTopMenu; -import org.jcnc.jnotepad.api.util.UiUtil; import org.jcnc.jnotepad.controller.config.UserConfigController; import org.jcnc.jnotepad.controller.event.handler.menuitem.OpenConfig; +import org.jcnc.jnotepad.util.UiUtil; import org.jcnc.jnotepad.views.manager.CenterTabPaneManager; import java.util.HashMap; -- Gitee