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
- * 该组件包括一个用于输入命令的文本字段和一个显示命令输出的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