shortcutKey) {
this.shortcutKey = shortcutKey;
}
+ /**
+ * 获取文本自动换行设置
+ *
+ * @return 是否启用文本自动换行
+ */
public boolean isTextWrap() {
return textWrap;
}
+ /**
+ * 设置文本自动换行设置
+ *
+ * @param textWrap 是否启用文本自动换行
+ */
public void setTextWrap(boolean textWrap) {
this.textWrap = textWrap;
}
diff --git a/src/main/java/org/jcnc/jnotepad/app/i18n/UiResourceBundle.java b/src/main/java/org/jcnc/jnotepad/app/i18n/UiResourceBundle.java
index bf6245bd3798acd09b88965d8fe75f2a06e9c93a..fbda96f7c215dfcdf5357c8b32c03c1c1d7343b6 100644
--- a/src/main/java/org/jcnc/jnotepad/app/i18n/UiResourceBundle.java
+++ b/src/main/java/org/jcnc/jnotepad/app/i18n/UiResourceBundle.java
@@ -13,6 +13,22 @@ import java.util.ResourceBundle;
/**
* UI资源绑定,用于加载语言文件。
*
+ *
+ * 此类用于加载和管理UI资源文件,支持国际化和多语言功能。可以通过绑定StringProperty和键值对应的内容,以及获取当前资源文件的内容。
+ *
+ *
+ *
+ * 该类是一个单例类,通过getInstance方法获取实例。
+ *
+ *
+ *
+ * 使用方法示例:
+ *
+ * UiResourceBundle.bindStringProperty(stringProperty, "key");
+ * String content = UiResourceBundle.getContent("key");
+ *
+ *
+ *
* @author songdragon
*/
public class UiResourceBundle {
@@ -35,6 +51,11 @@ public class UiResourceBundle {
}
+ /**
+ * 获取UiResourceBundle的单例实例
+ *
+ * @return UiResourceBundle的单例实例
+ */
public static UiResourceBundle getInstance() {
return INSTANCE;
}
@@ -81,6 +102,8 @@ public class UiResourceBundle {
/**
* 重置当前local
+ *
+ * @param toLocal 要设置的新的Locale
*/
public final void resetLocal(Locale toLocal) {
if (this.currentLocale == toLocal) {
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 c3238b14256c9cb6c64f21bc373bcf2d3d2b25c6..3d7467d13166c6964e9aaf259ad09f3c9ddf2fe1 100644
--- a/src/main/java/org/jcnc/jnotepad/app/manager/ApplicationManager.java
+++ b/src/main/java/org/jcnc/jnotepad/app/manager/ApplicationManager.java
@@ -8,22 +8,22 @@ import javafx.scene.layout.Pane;
import javafx.stage.Stage;
import javafx.stage.Window;
import org.jcnc.jnotepad.JnotepadApp;
+import org.jcnc.jnotepad.app.common.constants.AppConstants;
+import org.jcnc.jnotepad.app.common.constants.TextConstants;
+import org.jcnc.jnotepad.app.common.manager.ThreadPoolManager;
import org.jcnc.jnotepad.app.config.AppConfig;
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.common.manager.ThreadPoolManager;
+import org.jcnc.jnotepad.app.utils.FileUtil;
+import org.jcnc.jnotepad.app.utils.LogUtil;
+import org.jcnc.jnotepad.app.utils.UiUtil;
import org.jcnc.jnotepad.controller.ResourceController;
import org.jcnc.jnotepad.controller.cache.CacheController;
import org.jcnc.jnotepad.controller.config.AppConfigController;
import org.jcnc.jnotepad.controller.config.PluginConfigController;
import org.jcnc.jnotepad.controller.exception.AppException;
import org.jcnc.jnotepad.controller.manager.Controller;
-import org.jcnc.jnotepad.plugin.manager.PluginManager;
-import org.jcnc.jnotepad.util.FileUtil;
-import org.jcnc.jnotepad.util.LogUtil;
-import org.jcnc.jnotepad.util.UiUtil;
-import org.jcnc.jnotepad.views.manager.*;
+import org.jcnc.jnotepad.controller.plugin.manager.PluginManager;
+import org.jcnc.jnotepad.ui.views.manager.*;
import java.io.File;
import java.io.IOException;
@@ -34,13 +34,19 @@ import java.util.Objects;
import java.util.Set;
import java.util.concurrent.ExecutorService;
-import static org.jcnc.jnotepad.common.constants.AppConstants.DEFAULT_PROPERTY;
-import static org.jcnc.jnotepad.common.constants.AppConstants.PROGRAM_FILE_DIRECTORY;
-
+import static org.jcnc.jnotepad.app.common.constants.AppConstants.DEFAULT_PROPERTY;
+import static org.jcnc.jnotepad.app.common.constants.AppConstants.PROGRAM_FILE_DIRECTORY;
/**
- * 应用程序管理类
- * 此类负责管理应用程序的生命周期等操作
+ * 应用程序管理类
+ *
+ *
+ * 此类负责管理应用程序的生命周期和操作。它包括初始化应用程序、执行默认操作、加载缓存、加载资源、迁移程序根文件夹、停止前操作等功能。
+ *
+ *
+ *
+ * 该类是一个单例类,通过getInstance方法获取实例。
+ *
*
* @author gewuyou
*/
@@ -55,22 +61,27 @@ public class ApplicationManager {
private Stage primaryStage;
private Application application;
-
private ApplicationManager() {
}
+ /**
+ * 获取ApplicationManager的单例实例
+ *
+ * @return ApplicationManager的单例实例
+ */
public static ApplicationManager getInstance() {
return INSTANCE;
}
/**
- * 初始化程序(Initializes the application)
+ * 初始化应用程序
*
- * @apiNote
- * @since 2023/9/20 17:26
+ *
+ * 此方法用于初始化应用程序的各个组件,包括设置应用程序主题、初始化UI组件、初始化插件、初始化顶部菜单栏、初始化侧边工具栏、初始化下方状态栏、初始化标签页布局等。
+ *
*/
public void initializeApp() {
- // 设置应用程序主题 SetTheApplicationTheme
+ // 设置应用程序主题
Application.setUserAgentStylesheet(new PrimerLight().getUserAgentStylesheet());
// 初始化scene
initScene();
@@ -92,6 +103,10 @@ public class ApplicationManager {
/**
* 执行默认操作
+ *
+ *
+ * 此方法用于执行应用程序的默认操作,例如根据参数打开关联文件并创建文本区域,加载已打开的文件夹等。
+ *
*/
public void executeDefaultAction() {
// 使用加载关联文件并创建文本区域
@@ -124,6 +139,10 @@ public class ApplicationManager {
/**
* 加载缓存
+ *
+ *
+ * 此方法用于加载应用程序的缓存。
+ *
*/
public void loadAppCache() {
// 加载缓存
@@ -132,6 +151,10 @@ public class ApplicationManager {
/**
* 加载资源
+ *
+ *
+ * 此方法用于加载应用程序的资源,包括加载资源文件和绑定快捷键。
+ *
*/
public void loadAppResources() {
// 加载资源
@@ -142,6 +165,10 @@ public class ApplicationManager {
/**
* 迁移程序根文件夹
+ *
+ *
+ * 此方法用于迁移应用程序的根文件夹,将根文件夹从之前的位置迁移到新的位置。
+ *
*/
public void migrateFileRootFolder() {
AppConfig config = AppConfigController.getInstance().getConfig();
@@ -174,7 +201,9 @@ public class ApplicationManager {
/**
* 停止前操作
*
- * @apiNote 在停止程序之前会执行此操作
+ *
+ * 在停止应用程序之前,执行一系列操作,包括刷新插件配置、销毁插件、保存已打开的文件标签页、将缓存写入本地、迁移程序根文件夹、关闭线程池等。
+ *
*/
public void operationBeforeStopping() {
PluginConfigController pluginConfigController = PluginConfigController.getInstance();
@@ -195,7 +224,7 @@ public class ApplicationManager {
}
/**
- * 获取当前窗口。
+ * 获取当前窗口
*
* @return 当前窗口
*/
@@ -206,8 +235,7 @@ public class ApplicationManager {
/**
* 获取当前窗口的场景
*
- * @return javafx.scene.Scene
- * @since 2023/9/20 18:21
+ * @return 当前窗口的场景
*/
public Scene getScene() {
return scene;
@@ -220,8 +248,9 @@ public class ApplicationManager {
/**
* 加载程序布局
*
- * @apiNote
- * @since 2023/9/20 17:25
+ *
+ * 此方法用于加载应用程序的布局,包括根布局容器、底部根侧边栏垂直布局、主界面边界布局、顶部边界面板、右侧边栏垂直布局、根布局等组件。
+ *
*/
public void initAppLayout() {
// 加载根布局容器
@@ -237,9 +266,15 @@ public class ApplicationManager {
RootRightSideBarVerticalBoxManager.getInstance().initRootRightSideBarVerticalBox();
// 初始化根布局
RootBorderPaneManager.getInstance().initRootBorderPane();
-
}
+ /**
+ * 重启应用程序
+ *
+ *
+ * 此方法用于重启当前的Java应用程序。
+ *
+ */
public void restart() {
try {
// 获取当前Java应用程序的命令
@@ -250,14 +285,12 @@ public class ApplicationManager {
ProcessBuilder builder = new ProcessBuilder(javaCommand, "-cp", System.getProperty("java.class.path"), mainClass);
builder.start();
// 关闭当前应用程序
- // fixme 使用这个System.exit(0);,在开发环境,点击重启程序,停止前操作不生效
stop();
} catch (IOException e) {
LogUtil.getLogger("正在重启当前应用程序".getClass());
}
}
-
public Pane getRoot() {
return root;
}
@@ -282,6 +315,13 @@ public class ApplicationManager {
this.primaryStage = primaryStage;
}
+ /**
+ * 停止应用程序
+ *
+ *
+ * 此方法用于停止应用程序。
+ *
+ */
public void stop() {
Platform.exit();
}
diff --git a/src/main/java/org/jcnc/jnotepad/util/ClipboardUtil.java b/src/main/java/org/jcnc/jnotepad/app/utils/ClipboardUtil.java
similarity index 96%
rename from src/main/java/org/jcnc/jnotepad/util/ClipboardUtil.java
rename to src/main/java/org/jcnc/jnotepad/app/utils/ClipboardUtil.java
index 4e95321814086639a3debd6a7d1fa5901abb27cd..100153a2721bae1b8a030604a9d8d06a7b018100 100644
--- a/src/main/java/org/jcnc/jnotepad/util/ClipboardUtil.java
+++ b/src/main/java/org/jcnc/jnotepad/app/utils/ClipboardUtil.java
@@ -1,4 +1,4 @@
-package org.jcnc.jnotepad.util;
+package org.jcnc.jnotepad.app.utils;
import javafx.scene.input.Clipboard;
import javafx.scene.input.ClipboardContent;
diff --git a/src/main/java/org/jcnc/jnotepad/util/EncodingDetector.java b/src/main/java/org/jcnc/jnotepad/app/utils/EncodingDetector.java
similarity index 98%
rename from src/main/java/org/jcnc/jnotepad/util/EncodingDetector.java
rename to src/main/java/org/jcnc/jnotepad/app/utils/EncodingDetector.java
index 9511288ca533f296b083d17c5a620a1abe97a766..550a9a1b960445e052cddd16d89958e08bd2ee0e 100644
--- a/src/main/java/org/jcnc/jnotepad/util/EncodingDetector.java
+++ b/src/main/java/org/jcnc/jnotepad/app/utils/EncodingDetector.java
@@ -1,4 +1,4 @@
-package org.jcnc.jnotepad.util;
+package org.jcnc.jnotepad.app.utils;
import com.ibm.icu.text.CharsetDetector;
import com.ibm.icu.text.CharsetMatch;
diff --git a/src/main/java/org/jcnc/jnotepad/util/FileUtil.java b/src/main/java/org/jcnc/jnotepad/app/utils/FileUtil.java
similarity index 99%
rename from src/main/java/org/jcnc/jnotepad/util/FileUtil.java
rename to src/main/java/org/jcnc/jnotepad/app/utils/FileUtil.java
index f17542fb08fb6c6971bd47089f0e16497c5742a8..9b1fe76f1c3ecb0fe1125f7a60eb8100269ebf96 100644
--- a/src/main/java/org/jcnc/jnotepad/util/FileUtil.java
+++ b/src/main/java/org/jcnc/jnotepad/app/utils/FileUtil.java
@@ -1,4 +1,4 @@
-package org.jcnc.jnotepad.util;
+package org.jcnc.jnotepad.app.utils;
import javafx.scene.Node;
import org.jcnc.jnotepad.controller.event.handler.menuitem.OpenFile;
diff --git a/src/main/java/org/jcnc/jnotepad/util/JsonUtil.java b/src/main/java/org/jcnc/jnotepad/app/utils/JsonUtil.java
similarity index 98%
rename from src/main/java/org/jcnc/jnotepad/util/JsonUtil.java
rename to src/main/java/org/jcnc/jnotepad/app/utils/JsonUtil.java
index 7960f5ecb051c7c47dfbce96a41c1939f4da3a78..057073c20b9b23afd3d758c2ec700b26e8e435be 100644
--- a/src/main/java/org/jcnc/jnotepad/util/JsonUtil.java
+++ b/src/main/java/org/jcnc/jnotepad/app/utils/JsonUtil.java
@@ -1,4 +1,4 @@
-package org.jcnc.jnotepad.util;
+package org.jcnc.jnotepad.app.utils;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
diff --git a/src/main/java/org/jcnc/jnotepad/util/LogUtil.java b/src/main/java/org/jcnc/jnotepad/app/utils/LogUtil.java
similarity index 95%
rename from src/main/java/org/jcnc/jnotepad/util/LogUtil.java
rename to src/main/java/org/jcnc/jnotepad/app/utils/LogUtil.java
index 34eb0d49253f7465f9551d7c6ea43b6ceb2d8597..918ed0238d5acafa26419571eb78f2632ccc7d87 100644
--- a/src/main/java/org/jcnc/jnotepad/util/LogUtil.java
+++ b/src/main/java/org/jcnc/jnotepad/app/utils/LogUtil.java
@@ -1,4 +1,4 @@
-package org.jcnc.jnotepad.util;
+package org.jcnc.jnotepad.app.utils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/src/main/java/org/jcnc/jnotepad/util/NotificationUtil.java b/src/main/java/org/jcnc/jnotepad/app/utils/NotificationUtil.java
similarity index 97%
rename from src/main/java/org/jcnc/jnotepad/util/NotificationUtil.java
rename to src/main/java/org/jcnc/jnotepad/app/utils/NotificationUtil.java
index 3c5bf4f7be58177a0eaafea38ab2132dbb7e781d..14c0a59bd2ec4fec1a8ab5ebe9943e18577a7bf1 100644
--- a/src/main/java/org/jcnc/jnotepad/util/NotificationUtil.java
+++ b/src/main/java/org/jcnc/jnotepad/app/utils/NotificationUtil.java
@@ -1,9 +1,9 @@
-package org.jcnc.jnotepad.util;
+package org.jcnc.jnotepad.app.utils;
import atlantafx.base.controls.Notification;
import atlantafx.base.theme.Styles;
import javafx.scene.layout.StackPane;
-import org.jcnc.jnotepad.views.manager.RootManager;
+import org.jcnc.jnotepad.ui.views.manager.RootManager;
import org.kordamp.ikonli.javafx.FontIcon;
import java.util.Collections;
diff --git a/src/main/java/org/jcnc/jnotepad/util/PopUpUtil.java b/src/main/java/org/jcnc/jnotepad/app/utils/PopUpUtil.java
similarity index 96%
rename from src/main/java/org/jcnc/jnotepad/util/PopUpUtil.java
rename to src/main/java/org/jcnc/jnotepad/app/utils/PopUpUtil.java
index d205ea8530610836ba70a1698d7aa6006b6c3274..c7794c204ffff59d414395904415291c2f7e1272 100644
--- a/src/main/java/org/jcnc/jnotepad/util/PopUpUtil.java
+++ b/src/main/java/org/jcnc/jnotepad/app/utils/PopUpUtil.java
@@ -1,8 +1,8 @@
-package org.jcnc.jnotepad.util;
+package org.jcnc.jnotepad.app.utils;
-import org.jcnc.jnotepad.component.stage.dialog.AppDialogBuilder;
-import org.jcnc.jnotepad.component.stage.dialog.interfaces.DialogButtonAction;
import org.jcnc.jnotepad.model.enums.DialogType;
+import org.jcnc.jnotepad.ui.component.stage.dialog.AppDialogBuilder;
+import org.jcnc.jnotepad.ui.component.stage.dialog.interfaces.DialogButtonAction;
/**
* 弹窗工具类
diff --git a/src/main/java/org/jcnc/jnotepad/util/ResourceUtil.java b/src/main/java/org/jcnc/jnotepad/app/utils/ResourceUtil.java
similarity index 98%
rename from src/main/java/org/jcnc/jnotepad/util/ResourceUtil.java
rename to src/main/java/org/jcnc/jnotepad/app/utils/ResourceUtil.java
index ee7f7c0c3a858d361b18b53ee67a7f476cfa5ca1..1ab1b34ba7144b2f7e24c71059c8e04a689e8187 100644
--- a/src/main/java/org/jcnc/jnotepad/util/ResourceUtil.java
+++ b/src/main/java/org/jcnc/jnotepad/app/utils/ResourceUtil.java
@@ -1,4 +1,4 @@
-package org.jcnc.jnotepad.util;
+package org.jcnc.jnotepad.app.utils;
import org.jcnc.jnotepad.JnotepadApp;
diff --git a/src/main/java/org/jcnc/jnotepad/util/TabUtil.java b/src/main/java/org/jcnc/jnotepad/app/utils/TabUtil.java
similarity index 95%
rename from src/main/java/org/jcnc/jnotepad/util/TabUtil.java
rename to src/main/java/org/jcnc/jnotepad/app/utils/TabUtil.java
index b083441456c7f684336822f66909c10ca9030df1..d5307e03ed7c154e7fc129a3f17e28c277933177 100644
--- a/src/main/java/org/jcnc/jnotepad/util/TabUtil.java
+++ b/src/main/java/org/jcnc/jnotepad/app/utils/TabUtil.java
@@ -1,4 +1,4 @@
-package org.jcnc.jnotepad.util;
+package org.jcnc.jnotepad.app.utils;
import javafx.scene.control.Tab;
import javafx.scene.control.TextField;
@@ -6,22 +6,22 @@ import javafx.scene.input.KeyCode;
import javafx.stage.FileChooser;
import org.jcnc.jnotepad.api.core.views.menu.builder.ContextMenuBuilder;
import org.jcnc.jnotepad.api.core.views.menu.builder.MenuBuilder;
+import org.jcnc.jnotepad.app.common.constants.AppConstants;
+import org.jcnc.jnotepad.app.common.constants.TextConstants;
+import org.jcnc.jnotepad.app.common.manager.ApplicationCacheManager;
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.common.manager.ApplicationCacheManager;
-import org.jcnc.jnotepad.component.module.TextCodeArea;
-import org.jcnc.jnotepad.component.stage.dialog.factory.impl.BasicFileChooserFactory;
import org.jcnc.jnotepad.controller.config.UserConfigController;
import org.jcnc.jnotepad.controller.event.handler.menuitem.OpenFile;
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.views.manager.BottomStatusBoxManager;
-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;
-import org.jcnc.jnotepad.views.root.center.main.center.tab.CenterTabPane;
+import org.jcnc.jnotepad.ui.component.module.TextCodeArea;
+import org.jcnc.jnotepad.ui.component.stage.dialog.factory.impl.BasicFileChooserFactory;
+import org.jcnc.jnotepad.ui.views.manager.BottomStatusBoxManager;
+import org.jcnc.jnotepad.ui.views.manager.CenterTabPaneManager;
+import org.jcnc.jnotepad.ui.views.manager.TopMenuBarManager;
+import org.jcnc.jnotepad.ui.views.root.center.main.center.tab.CenterTab;
+import org.jcnc.jnotepad.ui.views.root.center.main.center.tab.CenterTabPane;
import org.slf4j.Logger;
import java.io.File;
@@ -29,8 +29,8 @@ import java.nio.charset.Charset;
import java.util.Comparator;
import java.util.List;
+import static org.jcnc.jnotepad.app.utils.FileUtil.getFileText;
import static org.jcnc.jnotepad.controller.config.UserConfigController.CONFIG_NAME;
-import static org.jcnc.jnotepad.util.FileUtil.getFileText;
/**
* 标签页工具
diff --git a/src/main/java/org/jcnc/jnotepad/util/UiUtil.java b/src/main/java/org/jcnc/jnotepad/app/utils/UiUtil.java
similarity index 98%
rename from src/main/java/org/jcnc/jnotepad/util/UiUtil.java
rename to src/main/java/org/jcnc/jnotepad/app/utils/UiUtil.java
index 7cfe1c027adf6cc725d59316776b33589d0fb6c1..9e8764edd94f4eb8a93c47eae483ecba4d5532a0 100644
--- a/src/main/java/org/jcnc/jnotepad/util/UiUtil.java
+++ b/src/main/java/org/jcnc/jnotepad/app/utils/UiUtil.java
@@ -1,12 +1,12 @@
-package org.jcnc.jnotepad.util;
+package org.jcnc.jnotepad.app.utils;
import atlantafx.base.theme.Styles;
import javafx.scene.Node;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.stage.Window;
+import org.jcnc.jnotepad.app.common.constants.AppConstants;
import org.jcnc.jnotepad.app.manager.ApplicationManager;
-import org.jcnc.jnotepad.common.constants.AppConstants;
import org.kordamp.ikonli.javafx.FontIcon;
import java.util.HashMap;
diff --git a/src/main/java/org/jcnc/jnotepad/app/utils/aReadme.md b/src/main/java/org/jcnc/jnotepad/app/utils/aReadme.md
new file mode 100644
index 0000000000000000000000000000000000000000..6a5900e36dc0ff82465e7dd6609348fb4d82f4e3
--- /dev/null
+++ b/src/main/java/org/jcnc/jnotepad/app/utils/aReadme.md
@@ -0,0 +1 @@
+util 存放通用的实用工具代码。
diff --git a/src/main/java/org/jcnc/jnotepad/component/module/vbox/components/DebugBox.java b/src/main/java/org/jcnc/jnotepad/component/module/vbox/components/DebugBox.java
deleted file mode 100644
index f6d59e5459013e65f363a61780398abc08b80940..0000000000000000000000000000000000000000
--- a/src/main/java/org/jcnc/jnotepad/component/module/vbox/components/DebugBox.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package org.jcnc.jnotepad.component.module.vbox.components;
-
-import org.jcnc.jnotepad.component.module.TextCodeArea;
-
-/**
- * Debug终端界面。
- *
- *
- * @author cccqyu
- */
-public class DebugBox extends TextCodeArea {
- public DebugBox() {
- super();
- this.setEditable(false);
- }
-
- public void setText(String text) {
- this.appendText(text);
- }
-}
diff --git a/src/main/java/org/jcnc/jnotepad/component/module/vbox/components/RunBox.java b/src/main/java/org/jcnc/jnotepad/component/module/vbox/components/RunBox.java
deleted file mode 100644
index a35cea1f4f733128f817b213c8416ab171e02f10..0000000000000000000000000000000000000000
--- a/src/main/java/org/jcnc/jnotepad/component/module/vbox/components/RunBox.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.jcnc.jnotepad.component.module.vbox.components;
-
-import org.jcnc.jnotepad.component.module.TextCodeArea;
-
-/**
- * Run终端界面。
- *
- *
- * @author cccqyu
- */
-public class RunBox extends TextCodeArea {
-
-
- public RunBox() {
- super();
- this.setEditable(false);
- }
-
- public void setText(String text) {
- this.appendText(text);
- }
-
-}
diff --git a/src/main/java/org/jcnc/jnotepad/controller/ResourceController.java b/src/main/java/org/jcnc/jnotepad/controller/ResourceController.java
index 8ac779487b57a901663d108796da1f0de3f7d37e..a545c264942237d1735e8081d8bca5bf977b1123 100644
--- a/src/main/java/org/jcnc/jnotepad/controller/ResourceController.java
+++ b/src/main/java/org/jcnc/jnotepad/controller/ResourceController.java
@@ -1,7 +1,7 @@
package org.jcnc.jnotepad.controller;
import org.jcnc.jnotepad.controller.i18n.LocalizationController;
-import org.jcnc.jnotepad.plugin.PluginLoader;
+import org.jcnc.jnotepad.controller.plugin.PluginLoader;
/**
* 资源控制器
diff --git a/src/main/java/org/jcnc/jnotepad/controller/aReadme.md b/src/main/java/org/jcnc/jnotepad/controller/aReadme.md
new file mode 100644
index 0000000000000000000000000000000000000000..c72140731737835b4cde18f57c096d1001939120
--- /dev/null
+++ b/src/main/java/org/jcnc/jnotepad/controller/aReadme.md
@@ -0,0 +1 @@
+controller 存放控制器相关的代码,包括事件处理、异常处理等。
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 28cd7d037f9999d4c802ac49a7fdd0044d78d97a..830356baf173d2b3ee571f58f72ec82a622f217f 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.common.manager.ApplicationCacheManager;
+import org.jcnc.jnotepad.app.common.manager.ApplicationCacheManager;
+import org.jcnc.jnotepad.app.utils.JsonUtil;
+import org.jcnc.jnotepad.app.utils.LogUtil;
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/AppConfigController.java b/src/main/java/org/jcnc/jnotepad/controller/config/AppConfigController.java
index 293432f52d1cab941cd6249d061c326fe5d21b3b..fb40bcb7d00c6b55797a9b02e179cfb1f9cc3f23 100644
--- a/src/main/java/org/jcnc/jnotepad/controller/config/AppConfigController.java
+++ b/src/main/java/org/jcnc/jnotepad/controller/config/AppConfigController.java
@@ -5,8 +5,8 @@ import org.jcnc.jnotepad.app.config.AppConfig;
import java.nio.file.Paths;
-import static org.jcnc.jnotepad.common.constants.AppConstants.DEFAULT_PROPERTY;
-import static org.jcnc.jnotepad.common.constants.AppConstants.PROGRAM_FILE_DIRECTORY;
+import static org.jcnc.jnotepad.app.common.constants.AppConstants.DEFAULT_PROPERTY;
+import static org.jcnc.jnotepad.app.common.constants.AppConstants.PROGRAM_FILE_DIRECTORY;
/**
* 应用程序配置文件控制器
diff --git a/src/main/java/org/jcnc/jnotepad/controller/config/PluginConfigController.java b/src/main/java/org/jcnc/jnotepad/controller/config/PluginConfigController.java
index f65146de58a0d3b8091b90bcdae6970e4a4af8f2..bce610f72972d38dc43f89e425209699bef5167e 100644
--- a/src/main/java/org/jcnc/jnotepad/controller/config/PluginConfigController.java
+++ b/src/main/java/org/jcnc/jnotepad/controller/config/PluginConfigController.java
@@ -7,7 +7,7 @@ import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
-import static org.jcnc.jnotepad.common.constants.AppConstants.PROGRAM_FILE_DIRECTORY;
+import static org.jcnc.jnotepad.app.common.constants.AppConstants.PROGRAM_FILE_DIRECTORY;
/**
* 插件控制器
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 3bbb9bdf87b68aa8c7e4ea5c5c708cc3e92a5629..2d2b4bff4cb3a6503b83762963be86683e85ac57 100644
--- a/src/main/java/org/jcnc/jnotepad/controller/config/UserConfigController.java
+++ b/src/main/java/org/jcnc/jnotepad/controller/config/UserConfigController.java
@@ -8,8 +8,8 @@ import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;
-import static org.jcnc.jnotepad.common.constants.AppConstants.PROGRAM_FILE_DIRECTORY;
-import static org.jcnc.jnotepad.common.constants.TextConstants.CHINESE;
+import static org.jcnc.jnotepad.app.common.constants.AppConstants.PROGRAM_FILE_DIRECTORY;
+import static org.jcnc.jnotepad.app.common.constants.TextConstants.CHINESE;
/**
* 应用程序配置控制器
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 6c9b0b43b828509b181400adea161b0c281a14d0..b1760a400e2dc414403d53cd5274353757fc93f4 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
@@ -3,7 +3,7 @@ package org.jcnc.jnotepad.controller.event.handler.menuitem;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
-import static org.jcnc.jnotepad.util.TabUtil.addNewFileTab;
+import static org.jcnc.jnotepad.app.utils.TabUtil.addNewFileTab;
/**
* 新建文件事件的事件处理程序。
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 b73c3f757e3e81127e9ae66781eede05ddd04637..e8b916876d4361ce49c90a4541f3668bce6f945c 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,12 +1,12 @@
package org.jcnc.jnotepad.controller.event.handler.menuitem;
import javafx.event.ActionEvent;
+import org.jcnc.jnotepad.app.utils.LogUtil;
import org.jcnc.jnotepad.controller.config.UserConfigController;
-import org.jcnc.jnotepad.util.LogUtil;
import java.io.File;
-import static org.jcnc.jnotepad.util.TabUtil.openFileToTab;
+import static org.jcnc.jnotepad.app.utils.TabUtil.openFileToTab;
/**
* 打开配置文件事件处理程序。
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 580ffcea3eb0772577f8b7c23c5f684103b8c9da..be3e5dfe41d37c755858f0f1871a50d6cbc5e49b 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
@@ -3,17 +3,17 @@ package org.jcnc.jnotepad.controller.event.handler.menuitem;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.stage.FileChooser;
+import org.jcnc.jnotepad.app.common.constants.TextConstants;
+import org.jcnc.jnotepad.app.common.manager.ApplicationCacheManager;
import org.jcnc.jnotepad.app.i18n.UiResourceBundle;
-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.app.utils.UiUtil;
import org.jcnc.jnotepad.model.entity.Cache;
import org.jcnc.jnotepad.model.enums.CacheExpirationTime;
-import org.jcnc.jnotepad.util.UiUtil;
+import org.jcnc.jnotepad.ui.component.stage.dialog.factory.impl.BasicFileChooserFactory;
import java.io.File;
-import static org.jcnc.jnotepad.util.TabUtil.openFileToTab;
+import static org.jcnc.jnotepad.app.utils.TabUtil.openFileToTab;
/**
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 a636d6497b500dae2631d368b7138ecc7e2fc557..b76f4d90df1eef11bed621f682d151269d6c312c 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
@@ -2,9 +2,9 @@ package org.jcnc.jnotepad.controller.event.handler.menuitem;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
-import org.jcnc.jnotepad.views.manager.CenterTabPaneManager;
+import org.jcnc.jnotepad.ui.views.manager.CenterTabPaneManager;
-import static org.jcnc.jnotepad.util.TabUtil.rename;
+import static org.jcnc.jnotepad.app.utils.TabUtil.rename;
/**
* 重命名文件事件处理器。
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 eb754d2301d39d57dcb2b6ecdc2e94d7ee618a8f..4b845668c9600784010224ad0766ddc67c2464ef 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,10 +1,10 @@
package org.jcnc.jnotepad.controller.event.handler.menuitem;
import javafx.event.ActionEvent;
-import org.jcnc.jnotepad.util.LogUtil;
-import org.jcnc.jnotepad.views.manager.CenterTabPaneManager;
+import org.jcnc.jnotepad.app.utils.LogUtil;
+import org.jcnc.jnotepad.ui.views.manager.CenterTabPaneManager;
-import static org.jcnc.jnotepad.util.TabUtil.saveAsFile;
+import static org.jcnc.jnotepad.app.utils.TabUtil.saveAsFile;
/**
* 保存文件事件处理器。
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 a57f382064c5577181c6586f789a1f971288d5f6..d685a45647cc626a87346b518b728c7f66606549 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
@@ -2,9 +2,9 @@ package org.jcnc.jnotepad.controller.event.handler.menuitem;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
-import org.jcnc.jnotepad.views.manager.CenterTabPaneManager;
+import org.jcnc.jnotepad.ui.views.manager.CenterTabPaneManager;
-import static org.jcnc.jnotepad.util.TabUtil.saveFile;
+import static org.jcnc.jnotepad.app.utils.TabUtil.saveFile;
/**
* 保存文件事件处理程序。
diff --git a/src/main/java/org/jcnc/jnotepad/controller/event/handler/toolbar/DirTreeBtn.java b/src/main/java/org/jcnc/jnotepad/controller/event/handler/toolbar/DirTreeBtn.java
index 27066f3bae35947f30966edbbfaa246c84c71bef..b994a428f34ee4f840cc4c5cac3d2ed5ef3a4424 100644
--- a/src/main/java/org/jcnc/jnotepad/controller/event/handler/toolbar/DirTreeBtn.java
+++ b/src/main/java/org/jcnc/jnotepad/controller/event/handler/toolbar/DirTreeBtn.java
@@ -2,7 +2,7 @@ package org.jcnc.jnotepad.controller.event.handler.toolbar;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
-import org.jcnc.jnotepad.views.manager.DirectorySidebarManager;
+import org.jcnc.jnotepad.ui.views.manager.DirectorySidebarManager;
/**
diff --git a/src/main/java/org/jcnc/jnotepad/controller/event/handler/toolbar/OpenDirectory.java b/src/main/java/org/jcnc/jnotepad/controller/event/handler/toolbar/OpenDirectory.java
index 977131fe8845549949c1844f7b58e43d974db887..05be499a0bb3059eca69c598358279ca7dba29d3 100644
--- a/src/main/java/org/jcnc/jnotepad/controller/event/handler/toolbar/OpenDirectory.java
+++ b/src/main/java/org/jcnc/jnotepad/controller/event/handler/toolbar/OpenDirectory.java
@@ -3,16 +3,16 @@ package org.jcnc.jnotepad.controller.event.handler.toolbar;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
+import org.jcnc.jnotepad.app.common.constants.TextConstants;
+import org.jcnc.jnotepad.app.common.manager.ApplicationCacheManager;
import org.jcnc.jnotepad.app.i18n.UiResourceBundle;
-import org.jcnc.jnotepad.common.constants.TextConstants;
-import org.jcnc.jnotepad.common.manager.ApplicationCacheManager;
-import org.jcnc.jnotepad.component.stage.dialog.factory.impl.BasicDirectoryChooserFactory;
+import org.jcnc.jnotepad.app.utils.FileUtil;
+import org.jcnc.jnotepad.app.utils.UiUtil;
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.util.FileUtil;
-import org.jcnc.jnotepad.util.UiUtil;
-import org.jcnc.jnotepad.views.manager.DirectorySidebarManager;
+import org.jcnc.jnotepad.ui.component.stage.dialog.factory.impl.BasicDirectoryChooserFactory;
+import org.jcnc.jnotepad.ui.views.manager.DirectorySidebarManager;
import java.io.File;
diff --git a/src/main/java/org/jcnc/jnotepad/controller/event/handler/toolbar/RunBtn.java b/src/main/java/org/jcnc/jnotepad/controller/event/handler/toolbar/RunBtn.java
index 2548596cdd9e35175d590bf15d867b3dc2f6d0df..0150bc374d62400a4339e873a872c723e997a550 100644
--- a/src/main/java/org/jcnc/jnotepad/controller/event/handler/toolbar/RunBtn.java
+++ b/src/main/java/org/jcnc/jnotepad/controller/event/handler/toolbar/RunBtn.java
@@ -3,7 +3,7 @@ package org.jcnc.jnotepad.controller.event.handler.toolbar;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
-import org.jcnc.jnotepad.views.manager.BuildPanelManager;
+import org.jcnc.jnotepad.ui.views.manager.BuildPanelManager;
/**
* 终端处理器
diff --git a/src/main/java/org/jcnc/jnotepad/controller/event/handler/toolbar/SetBtn.java b/src/main/java/org/jcnc/jnotepad/controller/event/handler/toolbar/SetBtn.java
index f5e60f5e5ce9cfe3fea9621789b1648895c963a4..a92166ff57d903556bf4d8d75eac96f4284e3199 100644
--- a/src/main/java/org/jcnc/jnotepad/controller/event/handler/toolbar/SetBtn.java
+++ b/src/main/java/org/jcnc/jnotepad/controller/event/handler/toolbar/SetBtn.java
@@ -2,7 +2,7 @@ package org.jcnc.jnotepad.controller.event.handler.toolbar;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
-import org.jcnc.jnotepad.component.stage.setting.SetStage;
+import org.jcnc.jnotepad.ui.component.stage.setting.SetStage;
/**
* 设置按钮事件的事件处理程序。
diff --git a/src/main/java/org/jcnc/jnotepad/controller/i18n/LocalizationController.java b/src/main/java/org/jcnc/jnotepad/controller/i18n/LocalizationController.java
index 715cd9e21c3756938b972608f97bee801374e82e..343c117d8c70c261ffdbb32e26bcbd03602fd478 100644
--- a/src/main/java/org/jcnc/jnotepad/controller/i18n/LocalizationController.java
+++ b/src/main/java/org/jcnc/jnotepad/controller/i18n/LocalizationController.java
@@ -9,8 +9,8 @@ import java.util.LinkedHashMap;
import java.util.Locale;
import java.util.Map;
-import static org.jcnc.jnotepad.common.constants.TextConstants.CHINESE;
-import static org.jcnc.jnotepad.common.constants.TextConstants.ENGLISH;
+import static org.jcnc.jnotepad.app.common.constants.TextConstants.CHINESE;
+import static org.jcnc.jnotepad.app.common.constants.TextConstants.ENGLISH;
/**
* 本地化控制器
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 3be9d5ac369a89a02399e34edc1ab30071278a28..4c79cd6401f74a762ed0c6108c71e3f069c82f31 100644
--- a/src/main/java/org/jcnc/jnotepad/controller/manager/Controller.java
+++ b/src/main/java/org/jcnc/jnotepad/controller/manager/Controller.java
@@ -1,15 +1,15 @@
package org.jcnc.jnotepad.controller.manager;
-import org.jcnc.jnotepad.common.manager.ApplicationCacheManager;
-import org.jcnc.jnotepad.component.module.interfaces.ControllerAble;
+import org.jcnc.jnotepad.app.common.manager.ApplicationCacheManager;
+import org.jcnc.jnotepad.ui.component.module.interfaces.ControllerAble;
import java.io.File;
import java.util.Collections;
import java.util.List;
import java.util.Optional;
-import static org.jcnc.jnotepad.util.TabUtil.addNewFileTab;
-import static org.jcnc.jnotepad.util.TabUtil.openFileToTab;
+import static org.jcnc.jnotepad.app.utils.TabUtil.addNewFileTab;
+import static org.jcnc.jnotepad.app.utils.TabUtil.openFileToTab;
/**
* 控制器类,实现 ControllerAble 接口,用于管理文本编辑器的各种操作和事件处理。
diff --git a/src/main/java/org/jcnc/jnotepad/plugin/PluginLoader.java b/src/main/java/org/jcnc/jnotepad/controller/plugin/PluginLoader.java
similarity index 97%
rename from src/main/java/org/jcnc/jnotepad/plugin/PluginLoader.java
rename to src/main/java/org/jcnc/jnotepad/controller/plugin/PluginLoader.java
index 865d271878058b5a3b37b508d9c335caa0a94d00..82ce17a68628cc08ce6f67a1e17a405302ae2305 100644
--- a/src/main/java/org/jcnc/jnotepad/plugin/PluginLoader.java
+++ b/src/main/java/org/jcnc/jnotepad/controller/plugin/PluginLoader.java
@@ -1,13 +1,13 @@
-package org.jcnc.jnotepad.plugin;
+package org.jcnc.jnotepad.controller.plugin;
-import org.jcnc.jnotepad.common.manager.ThreadPoolManager;
+import org.jcnc.jnotepad.app.common.manager.ThreadPoolManager;
+import org.jcnc.jnotepad.app.utils.JsonUtil;
+import org.jcnc.jnotepad.app.utils.LogUtil;
import org.jcnc.jnotepad.controller.config.PluginConfigController;
import org.jcnc.jnotepad.controller.exception.AppException;
+import org.jcnc.jnotepad.controller.plugin.interfaces.Plugin;
+import org.jcnc.jnotepad.controller.plugin.manager.PluginManager;
import org.jcnc.jnotepad.model.entity.PluginDescriptor;
-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/controller/plugin/PluginManagerInterface.java
similarity index 92%
rename from src/main/java/org/jcnc/jnotepad/plugin/PluginManagerInterface.java
rename to src/main/java/org/jcnc/jnotepad/controller/plugin/PluginManagerInterface.java
index 8011ca741643b5a7c4d42fab7432e0d1f2c82cfe..8fec9fc131e92500c2fe29320ae38867fac957d7 100644
--- a/src/main/java/org/jcnc/jnotepad/plugin/PluginManagerInterface.java
+++ b/src/main/java/org/jcnc/jnotepad/controller/plugin/PluginManagerInterface.java
@@ -1,4 +1,4 @@
-package org.jcnc.jnotepad.plugin;
+package org.jcnc.jnotepad.controller.plugin;
import javafx.scene.Scene;
import javafx.scene.control.Button;
@@ -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.component.stage.dialog.factory.impl.BasicFileChooserFactory;
-import org.jcnc.jnotepad.plugin.manager.PluginManager;
-import org.jcnc.jnotepad.util.LogUtil;
-import org.jcnc.jnotepad.util.PopUpUtil;
-import org.jcnc.jnotepad.util.UiUtil;
+import org.jcnc.jnotepad.app.utils.LogUtil;
+import org.jcnc.jnotepad.app.utils.PopUpUtil;
+import org.jcnc.jnotepad.app.utils.UiUtil;
+import org.jcnc.jnotepad.controller.plugin.manager.PluginManager;
+import org.jcnc.jnotepad.ui.component.stage.dialog.factory.impl.BasicFileChooserFactory;
import org.slf4j.Logger;
import java.io.File;
diff --git a/src/main/java/org/jcnc/jnotepad/controller/plugin/aReadme.md b/src/main/java/org/jcnc/jnotepad/controller/plugin/aReadme.md
new file mode 100644
index 0000000000000000000000000000000000000000..e89957c39853e27060f46d437c202c20a0399116
--- /dev/null
+++ b/src/main/java/org/jcnc/jnotepad/controller/plugin/aReadme.md
@@ -0,0 +1 @@
+plugin 存放插件相关的代码,包括插件接口和管理器。
diff --git a/src/main/java/org/jcnc/jnotepad/plugin/interfaces/Plugin.java b/src/main/java/org/jcnc/jnotepad/controller/plugin/interfaces/Plugin.java
similarity index 84%
rename from src/main/java/org/jcnc/jnotepad/plugin/interfaces/Plugin.java
rename to src/main/java/org/jcnc/jnotepad/controller/plugin/interfaces/Plugin.java
index daab29f807bef4f35bb33997c532920f99d6fc36..c06e46a2e9adf8b01be349deaf270f0418aeed4b 100644
--- a/src/main/java/org/jcnc/jnotepad/plugin/interfaces/Plugin.java
+++ b/src/main/java/org/jcnc/jnotepad/controller/plugin/interfaces/Plugin.java
@@ -1,4 +1,4 @@
-package org.jcnc.jnotepad.plugin.interfaces;
+package org.jcnc.jnotepad.controller.plugin.interfaces;
/**
diff --git a/src/main/java/org/jcnc/jnotepad/plugin/manager/PluginManager.java b/src/main/java/org/jcnc/jnotepad/controller/plugin/manager/PluginManager.java
similarity index 95%
rename from src/main/java/org/jcnc/jnotepad/plugin/manager/PluginManager.java
rename to src/main/java/org/jcnc/jnotepad/controller/plugin/manager/PluginManager.java
index 70e3a5168f1dc6618e7a5598c200701ce70aca21..9714f36d713d0195b221c6b3feac5f7d8fc3d9cc 100644
--- a/src/main/java/org/jcnc/jnotepad/plugin/manager/PluginManager.java
+++ b/src/main/java/org/jcnc/jnotepad/controller/plugin/manager/PluginManager.java
@@ -1,11 +1,11 @@
-package org.jcnc.jnotepad.plugin.manager;
+package org.jcnc.jnotepad.controller.plugin.manager;
+import org.jcnc.jnotepad.app.common.manager.ThreadPoolManager;
import org.jcnc.jnotepad.app.manager.ApplicationManager;
-import org.jcnc.jnotepad.common.manager.ThreadPoolManager;
+import org.jcnc.jnotepad.app.utils.LogUtil;
+import org.jcnc.jnotepad.app.utils.PopUpUtil;
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;
@@ -18,7 +18,7 @@ import java.util.List;
import java.util.Map;
import java.util.stream.Stream;
-import static org.jcnc.jnotepad.plugin.PluginLoader.readPlugin;
+import static org.jcnc.jnotepad.controller.plugin.PluginLoader.readPlugin;
/**
* 插件管理器
diff --git a/src/main/java/org/jcnc/jnotepad/model/aReadme.md b/src/main/java/org/jcnc/jnotepad/model/aReadme.md
new file mode 100644
index 0000000000000000000000000000000000000000..3bb67d3d5587153daba15629eea49762cd7d6e1b
--- /dev/null
+++ b/src/main/java/org/jcnc/jnotepad/model/aReadme.md
@@ -0,0 +1 @@
+model 存放模型相关的代码,包括实体类和枚举。
diff --git a/src/main/java/org/jcnc/jnotepad/model/entity/PluginDescriptor.java b/src/main/java/org/jcnc/jnotepad/model/entity/PluginDescriptor.java
index b7e4f71d29b6bbd3fb9b1d929a28d1e9959dc074..c339d888a0cae50fda59ddbac0899ead76b712d8 100644
--- a/src/main/java/org/jcnc/jnotepad/model/entity/PluginDescriptor.java
+++ b/src/main/java/org/jcnc/jnotepad/model/entity/PluginDescriptor.java
@@ -1,7 +1,7 @@
package org.jcnc.jnotepad.model.entity;
import com.fasterxml.jackson.annotation.JsonIgnore;
-import org.jcnc.jnotepad.plugin.interfaces.Plugin;
+import org.jcnc.jnotepad.controller.plugin.interfaces.Plugin;
import java.util.Objects;
diff --git a/src/main/java/org/jcnc/jnotepad/ui/component/aReadme.md b/src/main/java/org/jcnc/jnotepad/ui/component/aReadme.md
new file mode 100644
index 0000000000000000000000000000000000000000..dee97fc1ec7f1ee0bb7e7dcf72920ef0b2b5b0ab
--- /dev/null
+++ b/src/main/java/org/jcnc/jnotepad/ui/component/aReadme.md
@@ -0,0 +1 @@
+component 目录包含可复用的UI组件,如自定义模块。
diff --git a/src/main/java/org/jcnc/jnotepad/component/module/TextCodeArea.java b/src/main/java/org/jcnc/jnotepad/ui/component/module/TextCodeArea.java
similarity index 99%
rename from src/main/java/org/jcnc/jnotepad/component/module/TextCodeArea.java
rename to src/main/java/org/jcnc/jnotepad/ui/component/module/TextCodeArea.java
index 3a36ae3f2318c96cb1a6204311ed1136aba18f75..c5ac2f47eea1ba4ca39484e8caae74cf0e3761f1 100644
--- a/src/main/java/org/jcnc/jnotepad/component/module/TextCodeArea.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/component/module/TextCodeArea.java
@@ -1,4 +1,4 @@
-package org.jcnc.jnotepad.component.module;
+package org.jcnc.jnotepad.ui.component.module;
import javafx.application.Platform;
import javafx.geometry.Insets;
diff --git a/src/main/java/org/jcnc/jnotepad/component/module/base/AbstractBorderPane.java b/src/main/java/org/jcnc/jnotepad/ui/component/module/base/AbstractBorderPane.java
similarity index 47%
rename from src/main/java/org/jcnc/jnotepad/component/module/base/AbstractBorderPane.java
rename to src/main/java/org/jcnc/jnotepad/ui/component/module/base/AbstractBorderPane.java
index 8526fb45aabb7b9bf391be0412ef8018819743a7..934c3a654702c20fc6f82cc307dfff43ee6586ea 100644
--- a/src/main/java/org/jcnc/jnotepad/component/module/base/AbstractBorderPane.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/component/module/base/AbstractBorderPane.java
@@ -1,38 +1,63 @@
-package org.jcnc.jnotepad.component.module.base;
+package org.jcnc.jnotepad.ui.component.module.base;
import javafx.scene.Node;
import javafx.scene.layout.BorderPane;
-import org.jcnc.jnotepad.component.module.interfaces.BorderPaneAble;
+import org.jcnc.jnotepad.ui.component.module.interfaces.BorderPaneAble;
/**
- * 抽象边界面板类
+ * 抽象边界面板类。
*
- * 这个抽象类继承自JavaFX的BorderPane类,实现了BorderPaneAble接口,用于管理UI组件的布局。
+ * 这个抽象类继承自 JavaFX 的 BorderPane 类,实现了 BorderPaneAble 接口,用于管理 UI 组件的布局。
*
* @author luke
*/
public abstract class AbstractBorderPane extends BorderPane implements BorderPaneAble {
+ /**
+ * 设置顶部组件。
+ *
+ * @param node 顶部组件
+ */
@Override
public void setTopComponent(Node node) {
setTop(node);
}
+ /**
+ * 设置底部组件。
+ *
+ * @param node 底部组件
+ */
@Override
public void setBottomComponent(Node node) {
setBottom(node);
}
+ /**
+ * 设置左侧组件。
+ *
+ * @param node 左侧组件
+ */
@Override
public void setLeftComponent(Node node) {
setLeft(node);
}
+ /**
+ * 设置右侧组件。
+ *
+ * @param node 右侧组件
+ */
@Override
public void setRightComponent(Node node) {
setRight(node);
}
+ /**
+ * 设置中心组件。
+ *
+ * @param node 中心组件
+ */
@Override
public void setCenterComponent(Node node) {
setCenter(node);
diff --git a/src/main/java/org/jcnc/jnotepad/component/module/base/AbstractHorizontalBox.java b/src/main/java/org/jcnc/jnotepad/ui/component/module/base/AbstractHorizontalBox.java
similarity index 39%
rename from src/main/java/org/jcnc/jnotepad/component/module/base/AbstractHorizontalBox.java
rename to src/main/java/org/jcnc/jnotepad/ui/component/module/base/AbstractHorizontalBox.java
index 8c724bbfa0f5871e62e0336a4194b79e3f0e2e38..93b7e056d0f792739f4803b62b80e132df64ac37 100644
--- a/src/main/java/org/jcnc/jnotepad/component/module/base/AbstractHorizontalBox.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/component/module/base/AbstractHorizontalBox.java
@@ -1,33 +1,53 @@
-package org.jcnc.jnotepad.component.module.base;
+package org.jcnc.jnotepad.ui.component.module.base;
import javafx.scene.Node;
import javafx.scene.layout.HBox;
-import org.jcnc.jnotepad.component.module.interfaces.HorizontalBoxAble;
+import org.jcnc.jnotepad.ui.component.module.interfaces.HorizontalBoxAble;
/**
- * 抽象水平盒子类
+ * 抽象水平盒子类。
*
- * 这个抽象类继承自JavaFX的HBox类,实现了HBoxAble接口,用于管理水平排列的UI组件。
+ * 这个抽象类继承自 JavaFX 的 HBox 类,实现了 HorizontalBoxAble 接口,用于管理水平排列的 UI 组件。
+ *
+ * 请注意,这个类只是一个抽象类,用于提供基本的水平盒子布局功能。您可以继承此类并添加自己的 UI 组件以构建更复杂的界面。
*
* @author luke
*/
public abstract class AbstractHorizontalBox extends HBox implements HorizontalBoxAble {
private final HBox hBox;
+ /**
+ * 创建一个新的 AbstractHorizontalBox 实例。
+ */
public AbstractHorizontalBox() {
hBox = new HBox();
}
+ /**
+ * 向水平盒子添加一个节点。
+ *
+ * @param node 要添加的节点
+ */
@Override
public void addChild(Node node) {
hBox.getChildren().add(node);
}
+ /**
+ * 向水平盒子添加多个节点。
+ *
+ * @param nodes 要添加的节点数组
+ */
@Override
public void addChild(Node... nodes) {
hBox.getChildren().addAll(nodes);
}
+ /**
+ * 获取水平盒子的实例。
+ *
+ * @return 水平盒子实例
+ */
@Override
public HBox getHorizontalBox() {
return hBox;
diff --git a/src/main/java/org/jcnc/jnotepad/component/module/base/AbstractVerticalBox.java b/src/main/java/org/jcnc/jnotepad/ui/component/module/base/AbstractVerticalBox.java
similarity index 39%
rename from src/main/java/org/jcnc/jnotepad/component/module/base/AbstractVerticalBox.java
rename to src/main/java/org/jcnc/jnotepad/ui/component/module/base/AbstractVerticalBox.java
index c5c5973e544bb5417392971d5d6d57b3e612fa8d..a460894171cb411121e3c9424c3225623aa52ccb 100644
--- a/src/main/java/org/jcnc/jnotepad/component/module/base/AbstractVerticalBox.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/component/module/base/AbstractVerticalBox.java
@@ -1,34 +1,53 @@
-package org.jcnc.jnotepad.component.module.base;
+package org.jcnc.jnotepad.ui.component.module.base;
import javafx.scene.Node;
import javafx.scene.layout.VBox;
-import org.jcnc.jnotepad.component.module.interfaces.VerticalBoxAble;
+import org.jcnc.jnotepad.ui.component.module.interfaces.VerticalBoxAble;
/**
- * 抽象垂直盒子类
+ * 抽象垂直盒子类。
*
- * 这个抽象类继承自JavaFX的VBox类,实现了VBoxAble接口,用于管理垂直排列的UI组件。
+ * 这个抽象类继承自 JavaFX 的 VBox 类,实现了 VerticalBoxAble 接口,用于管理垂直排列的 UI 组件。
+ *
+ * 请注意,这个类只是一个抽象类,用于提供基本的垂直盒子布局功能。您可以继承此类并添加自己的 UI 组件以构建更复杂的界面。
*
* @author luke
*/
public abstract class AbstractVerticalBox extends VBox implements VerticalBoxAble {
-
private final VBox vBox;
+ /**
+ * 创建一个新的 AbstractVerticalBox 实例。
+ */
public AbstractVerticalBox() {
vBox = new VBox();
}
+ /**
+ * 向垂直盒子添加一个节点。
+ *
+ * @param node 要添加的节点
+ */
@Override
public void addChild(Node node) {
vBox.getChildren().add(node);
}
+ /**
+ * 向垂直盒子添加多个节点。
+ *
+ * @param nodes 要添加的节点数组
+ */
@Override
public void addChild(Node... nodes) {
vBox.getChildren().addAll(nodes);
}
+ /**
+ * 获取垂直盒子的实例。
+ *
+ * @return 垂直盒子实例
+ */
@Override
public VBox getVerticalBox() {
return vBox;
diff --git a/src/main/java/org/jcnc/jnotepad/component/module/hbox/CustomTitleBarBox.java b/src/main/java/org/jcnc/jnotepad/ui/component/module/hbox/CustomTitleBarBox.java
similarity index 84%
rename from src/main/java/org/jcnc/jnotepad/component/module/hbox/CustomTitleBarBox.java
rename to src/main/java/org/jcnc/jnotepad/ui/component/module/hbox/CustomTitleBarBox.java
index 6b65b4b1d674260d32c131e60eba2900fe98da5c..534da1f57fdcce55a5eaa75d1133d0c4c53721b0 100644
--- a/src/main/java/org/jcnc/jnotepad/component/module/hbox/CustomTitleBarBox.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/component/module/hbox/CustomTitleBarBox.java
@@ -1,4 +1,4 @@
-package org.jcnc.jnotepad.component.module.hbox;
+package org.jcnc.jnotepad.ui.component.module.hbox;
import javafx.animation.TranslateTransition;
import javafx.geometry.Pos;
@@ -14,11 +14,18 @@ import javafx.util.Duration;
* 自定义标题栏组件,用于自定义窗口标题栏的显示和交互。
* 该类提供了窗口图标、标题文本以及最小化、最大化和关闭按钮的功能。
*
- * @author 许轲
+ * 这个类允许用户创建自定义的窗口标题栏,包括图标、标题文本和按钮来最小化、最大化和关闭窗口。
+ *
+ * 通过使用 {@link #getInstance()} 方法获取单例实例,然后将其添加到窗口的顶部,即可创建自定义标题栏。
+ *
+ * @author luke
*/
public class CustomTitleBarBox extends HBox {
private static CustomTitleBarBox instance;
+ /**
+ * 创建一个新的 CustomTitleBarBox 实例。
+ */
public CustomTitleBarBox() {
// 设置样式和布局
this.setAlignment(Pos.CENTER);
@@ -65,9 +72,9 @@ public class CustomTitleBarBox extends HBox {
}
/**
- * 获取标题栏的单例实例
+ * 获取标题栏的单例实例。
*
- * @return CustomTitleBar的单例实例
+ * @return CustomTitleBarBox 的单例实例
*/
public static CustomTitleBarBox getInstance() {
if (instance == null) {
@@ -77,9 +84,9 @@ public class CustomTitleBarBox extends HBox {
}
/**
- * 使窗口可拖动
+ * 使窗口可拖动。
*
- * @param stage 要拖动的窗口的Stage对象
+ * @param stage 要拖动的窗口的 Stage 对象
*/
public void makeDraggable(Stage stage) {
// 创建一个平移动画,设置持续时间和目标位置
diff --git a/src/main/java/org/jcnc/jnotepad/component/module/interfaces/BorderPaneAble.java b/src/main/java/org/jcnc/jnotepad/ui/component/module/interfaces/BorderPaneAble.java
similarity index 82%
rename from src/main/java/org/jcnc/jnotepad/component/module/interfaces/BorderPaneAble.java
rename to src/main/java/org/jcnc/jnotepad/ui/component/module/interfaces/BorderPaneAble.java
index f4d6b7f2efd745bb04347d819a331f50b33fb271..1c9946f20236c24db9affcdd112f5d46adaf2c9b 100644
--- a/src/main/java/org/jcnc/jnotepad/component/module/interfaces/BorderPaneAble.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/component/module/interfaces/BorderPaneAble.java
@@ -1,12 +1,14 @@
-package org.jcnc.jnotepad.component.module.interfaces;
+package org.jcnc.jnotepad.ui.component.module.interfaces;
import javafx.scene.Node;
/**
- * 可设置BorderPane子组件的接口
+ * 可设置BorderPane子组件的接口。
*
* 该接口定义了设置BorderPane的各个子组件(上、下、左、右、中)的方法。
*
+ * 实现此接口的类可以设置BorderPane布局的各个子组件,以定制UI布局。
+ *
* @author luke
*/
public interface BorderPaneAble {
diff --git a/src/main/java/org/jcnc/jnotepad/component/module/interfaces/ControllerAble.java b/src/main/java/org/jcnc/jnotepad/ui/component/module/interfaces/ControllerAble.java
similarity index 57%
rename from src/main/java/org/jcnc/jnotepad/component/module/interfaces/ControllerAble.java
rename to src/main/java/org/jcnc/jnotepad/ui/component/module/interfaces/ControllerAble.java
index eaaf6c22e9104edd02e353dd0faaea6ba6474450..a8054c5d417a3213b58e038c3566d3a61f468d9c 100644
--- a/src/main/java/org/jcnc/jnotepad/component/module/interfaces/ControllerAble.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/component/module/interfaces/ControllerAble.java
@@ -1,11 +1,14 @@
-package org.jcnc.jnotepad.component.module.interfaces;
+package org.jcnc.jnotepad.ui.component.module.interfaces;
/**
- * 控制器接口类
+ * 控制器接口类。
*
- * 该接口定义了控制器的方法,用于打开关联文件并创建TextArea。
+ * 该接口定义了控制器的方法,用于打开关联文件并创建 TextArea。
*
- * @author 许轲
+ * 实现此接口的类可以通过调用方法来打开关联文件并创建 TextArea,以执行与文件操作相关的控制逻辑。
+ *
+ * @param 原始参数的类型
+ * @author luke
*/
public interface ControllerAble {
diff --git a/src/main/java/org/jcnc/jnotepad/component/module/interfaces/HorizontalBoxAble.java b/src/main/java/org/jcnc/jnotepad/ui/component/module/interfaces/HorizontalBoxAble.java
similarity index 62%
rename from src/main/java/org/jcnc/jnotepad/component/module/interfaces/HorizontalBoxAble.java
rename to src/main/java/org/jcnc/jnotepad/ui/component/module/interfaces/HorizontalBoxAble.java
index 318472394c3708282d9a23b274663f4cfe717152..cc2f4415d0808abe685395b723cf22dede031dbb 100644
--- a/src/main/java/org/jcnc/jnotepad/component/module/interfaces/HorizontalBoxAble.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/component/module/interfaces/HorizontalBoxAble.java
@@ -1,12 +1,14 @@
-package org.jcnc.jnotepad.component.module.interfaces;
+package org.jcnc.jnotepad.ui.component.module.interfaces;
import javafx.scene.Node;
import javafx.scene.layout.HBox;
/**
- * 可添加子节点的水平布局接口
+ * 可添加子节点的水平布局接口。
*
- * 该接口定义了添加子节点和获取水平布局的方法。
+ * 该接口定义了向水平布局添加子节点和获取水平布局的方法。
+ *
+ * 实现此接口的类可以使用方法将一个或多个子节点添加到水平布局中,以自定义水平布局的UI组件。
*
* @author luke
*/
diff --git a/src/main/java/org/jcnc/jnotepad/component/module/interfaces/VerticalBoxAble.java b/src/main/java/org/jcnc/jnotepad/ui/component/module/interfaces/VerticalBoxAble.java
similarity index 61%
rename from src/main/java/org/jcnc/jnotepad/component/module/interfaces/VerticalBoxAble.java
rename to src/main/java/org/jcnc/jnotepad/ui/component/module/interfaces/VerticalBoxAble.java
index 87b5f10ab6cc94cf799257d6996f43ba215d5015..1808bb7ff300b83f499c43b88f0ab23a19bb8c27 100644
--- a/src/main/java/org/jcnc/jnotepad/component/module/interfaces/VerticalBoxAble.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/component/module/interfaces/VerticalBoxAble.java
@@ -1,12 +1,14 @@
-package org.jcnc.jnotepad.component.module.interfaces;
+package org.jcnc.jnotepad.ui.component.module.interfaces;
import javafx.scene.Node;
import javafx.scene.layout.VBox;
/**
- * 可添加子节点的垂直布局接口
+ * 可添加子节点的垂直布局接口。
*
- * 该接口定义了添加子节点和获取垂直布局的方法。
+ * 该接口定义了向垂直布局添加子节点和获取垂直布局的方法。
+ *
+ * 实现此接口的类可以使用方法将一个或多个子节点添加到垂直布局中,以自定义垂直布局的UI组件。
*
* @author luke
*/
diff --git a/src/main/java/org/jcnc/jnotepad/component/module/vbox/BuildPanel.java b/src/main/java/org/jcnc/jnotepad/ui/component/module/vbox/BuildPanel.java
similarity index 41%
rename from src/main/java/org/jcnc/jnotepad/component/module/vbox/BuildPanel.java
rename to src/main/java/org/jcnc/jnotepad/ui/component/module/vbox/BuildPanel.java
index 955e4c631c05ea34b104dd956036cc8176cebb21..19eb2aea15cf2a722d74811ecd0f58a69790ab68 100644
--- a/src/main/java/org/jcnc/jnotepad/component/module/vbox/BuildPanel.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/component/module/vbox/BuildPanel.java
@@ -1,21 +1,33 @@
-package org.jcnc.jnotepad.component.module.vbox;
+package org.jcnc.jnotepad.ui.component.module.vbox;
import javafx.scene.control.Tab;
import javafx.scene.control.TabPane;
-import org.jcnc.jnotepad.component.module.vbox.components.CmdTerminalBox;
-import org.jcnc.jnotepad.component.module.vbox.components.DebugBox;
-import org.jcnc.jnotepad.component.module.vbox.components.RunBox;
+import org.jcnc.jnotepad.ui.component.module.vbox.components.CmdTerminalBox;
+import org.jcnc.jnotepad.ui.component.module.vbox.components.DebugBox;
+import org.jcnc.jnotepad.ui.component.module.vbox.components.RunBox;
/**
- * 底部Run,Debug,Cmd面板
+ * 底部运行、调试和命令终端面板。
*
+ * 这个类实现了一个包含运行信息、调试信息和命令终端的底部面板。它是TabPane的子类,用于将这三个组件以选项卡的形式显示在底部面板上。
*
+ * 可以通过调用getInstance方法获取单例实例。
+ *
+ * @see CmdTerminalBox
+ * @see RunBox
+ * @see DebugBox
+ * @see TabPane
* @author cccqyu
*/
public class BuildPanel extends TabPane {
private static BuildPanel instance = null;
+ /**
+ * 获取BuildPanel的单例实例。
+ *
+ * @return BuildPanel的单例实例
+ */
public static BuildPanel getInstance() {
if (instance == null) {
@@ -33,26 +45,41 @@ public class BuildPanel extends TabPane {
runBox = new RunBox();
debugBox = new DebugBox();
- Tab runTab = new Tab("运行",runBox);
+ Tab runTab = new Tab("运行", runBox);
runTab.setClosable(false);
- Tab buildTab = new Tab("构建", debugBox);
+ Tab buildTab = new Tab("调试", debugBox);
buildTab.setClosable(false);
- Tab cmdTab = new Tab("终端",cmdTerminalBox);
+ Tab cmdTab = new Tab("命令终端", cmdTerminalBox);
cmdTab.setClosable(false);
- this.getTabs().addAll(runTab,buildTab,cmdTab);
+ this.getTabs().addAll(runTab, buildTab, cmdTab);
}
+ /**
+ * 获取命令终端组件。
+ *
+ * @return CmdTerminalBox对象
+ */
public CmdTerminalBox getCmdTerminalBox() {
return cmdTerminalBox;
}
+ /**
+ * 获取运行信息组件。
+ *
+ * @return RunBox对象
+ */
public RunBox getRunBox() {
return runBox;
}
- public DebugBox getBuildBox() {
+ /**
+ * 获取调试信息组件。
+ *
+ * @return DebugBox对象
+ */
+ public DebugBox getDebugBox() {
return debugBox;
}
}
diff --git a/src/main/java/org/jcnc/jnotepad/component/module/vbox/components/CmdTerminalBox.java b/src/main/java/org/jcnc/jnotepad/ui/component/module/vbox/components/CmdTerminalBox.java
similarity index 90%
rename from src/main/java/org/jcnc/jnotepad/component/module/vbox/components/CmdTerminalBox.java
rename to src/main/java/org/jcnc/jnotepad/ui/component/module/vbox/components/CmdTerminalBox.java
index 3d7951adff16651e0765c118fe03ba00bf5fd18c..97ed871ef8855648670b397927ff26721f54bd0a 100644
--- a/src/main/java/org/jcnc/jnotepad/component/module/vbox/components/CmdTerminalBox.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/component/module/vbox/components/CmdTerminalBox.java
@@ -1,4 +1,4 @@
-package org.jcnc.jnotepad.component.module.vbox.components;
+package org.jcnc.jnotepad.ui.component.module.vbox.components;
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.util.LogUtil;
+import org.jcnc.jnotepad.app.utils.LogUtil;
import java.io.*;
import java.nio.charset.Charset;
@@ -18,6 +18,12 @@ import java.nio.charset.Charset;
/**
* 命令行终端界面。
*
+ * 这个类实现了一个简单的命令行终端界面,用于显示命令输出并接受用户输入的命令。
+ *
+ * 通过调用构造函数来创建CmdTerminal对象。它包括了一个用于显示命令输出的文本区域和一个用于输入命令的文本框。
+ *
+ * 这个终端界面支持基本的命令执行,并将命令输出显示在文本区域中。
+ *
* @author luke
*/
public class CmdTerminalBox extends VBox {
@@ -64,7 +70,6 @@ public class CmdTerminalBox extends VBox {
// 获取当前工作目录的文件夹路径
currentDirectory = System.getProperty("user.dir");
-
// 创建并启动cmd进程,使用GBK字符编码
try {
cmdProcess = new ProcessBuilder("cmd.exe")
@@ -77,11 +82,9 @@ public class CmdTerminalBox extends VBox {
LogUtil.getLogger(this.getClass()).info("已调用, {}", cmdProcess);
}
-
// 延迟执行打印当前文件夹路径的语句
Timeline timeline = new Timeline(new KeyFrame(Duration.seconds(0.5), event -> {
appendTextToCmdOutput(currentDirectory + ">" + "\n");
-
}));
timeline.setCycleCount(1);
timeline.play();
diff --git a/src/main/java/org/jcnc/jnotepad/ui/component/module/vbox/components/DebugBox.java b/src/main/java/org/jcnc/jnotepad/ui/component/module/vbox/components/DebugBox.java
new file mode 100644
index 0000000000000000000000000000000000000000..9be0a3f3c57672b28265436ce30757b8d8e945b6
--- /dev/null
+++ b/src/main/java/org/jcnc/jnotepad/ui/component/module/vbox/components/DebugBox.java
@@ -0,0 +1,31 @@
+package org.jcnc.jnotepad.ui.component.module.vbox.components;
+
+import org.jcnc.jnotepad.ui.component.module.TextCodeArea;
+
+/**
+ * 调试信息显示界面。
+ *
+ * 这个类实现了一个用于显示调试信息的界面,它是TextCodeArea的子类,并在构造函数中将其设置为不可编辑状态。
+ *
+ * 调试信息可以通过调用setText方法将文本添加到界面中。
+ *
+ * @author cccqyu
+ */
+public class DebugBox extends TextCodeArea {
+ /**
+ * 创建DebugBox对象的构造函数。
+ */
+ public DebugBox() {
+ super();
+ this.setEditable(false);
+ }
+
+ /**
+ * 设置调试信息的文本内容。
+ *
+ * @param text 要显示的调试信息文本
+ */
+ public void setText(String text) {
+ this.appendText(text);
+ }
+}
diff --git a/src/main/java/org/jcnc/jnotepad/ui/component/module/vbox/components/RunBox.java b/src/main/java/org/jcnc/jnotepad/ui/component/module/vbox/components/RunBox.java
new file mode 100644
index 0000000000000000000000000000000000000000..01fe3adc329c781d30b917ca8b4d4f3dd856f8d8
--- /dev/null
+++ b/src/main/java/org/jcnc/jnotepad/ui/component/module/vbox/components/RunBox.java
@@ -0,0 +1,31 @@
+package org.jcnc.jnotepad.ui.component.module.vbox.components;
+
+import org.jcnc.jnotepad.ui.component.module.TextCodeArea;
+
+/**
+ * 运行信息显示界面。
+ *
+ * 这个类实现了一个用于显示运行信息的界面,它是TextCodeArea的子类,并在构造函数中将其设置为不可编辑状态。
+ *
+ * 运行信息可以通过调用setText方法将文本添加到界面中。
+ *
+ * @author cccqyu
+ */
+public class RunBox extends TextCodeArea {
+ /**
+ * 创建RunBox对象的构造函数。
+ */
+ public RunBox() {
+ super();
+ this.setEditable(false);
+ }
+
+ /**
+ * 设置运行信息的文本内容。
+ *
+ * @param text 要显示的运行信息文本
+ */
+ public void setText(String text) {
+ this.appendText(text);
+ }
+}
diff --git a/src/main/java/org/jcnc/jnotepad/component/stage/dialog/AppDialogBuilder.java b/src/main/java/org/jcnc/jnotepad/ui/component/stage/dialog/AppDialogBuilder.java
similarity index 97%
rename from src/main/java/org/jcnc/jnotepad/component/stage/dialog/AppDialogBuilder.java
rename to src/main/java/org/jcnc/jnotepad/ui/component/stage/dialog/AppDialogBuilder.java
index ec4644059e7ba520c95e5158aca0396fbf27726d..b4011eb1f6b7338b4d86872ec39647519463ebdc 100644
--- a/src/main/java/org/jcnc/jnotepad/component/stage/dialog/AppDialogBuilder.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/component/stage/dialog/AppDialogBuilder.java
@@ -1,13 +1,13 @@
-package org.jcnc.jnotepad.component.stage.dialog;
+package org.jcnc.jnotepad.ui.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.component.stage.dialog.interfaces.DialogButtonAction;
+import org.jcnc.jnotepad.app.utils.UiUtil;
import org.jcnc.jnotepad.model.enums.DialogType;
-import org.jcnc.jnotepad.util.UiUtil;
+import org.jcnc.jnotepad.ui.component.stage.dialog.interfaces.DialogButtonAction;
import org.kordamp.ikonli.javafx.FontIcon;
/**
diff --git a/src/main/java/org/jcnc/jnotepad/component/stage/dialog/AppDialogStage.java b/src/main/java/org/jcnc/jnotepad/ui/component/stage/dialog/AppDialogStage.java
similarity index 95%
rename from src/main/java/org/jcnc/jnotepad/component/stage/dialog/AppDialogStage.java
rename to src/main/java/org/jcnc/jnotepad/ui/component/stage/dialog/AppDialogStage.java
index b5cb9f3769de7fb30d6c3c5c24881cfcc8c24b35..b0ef87b73aad3046f5b7454f612f87128823e521 100644
--- a/src/main/java/org/jcnc/jnotepad/component/stage/dialog/AppDialogStage.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/component/stage/dialog/AppDialogStage.java
@@ -1,4 +1,4 @@
-package org.jcnc.jnotepad.component.stage.dialog;
+package org.jcnc.jnotepad.ui.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.component.stage.dialog.interfaces.DialogButtonAction;
+import org.jcnc.jnotepad.ui.component.stage.dialog.interfaces.DialogButtonAction;
/**
* 应用对话框
diff --git a/src/main/java/org/jcnc/jnotepad/component/stage/dialog/factory/DirectoryChooserFactory.java b/src/main/java/org/jcnc/jnotepad/ui/component/stage/dialog/factory/DirectoryChooserFactory.java
similarity index 93%
rename from src/main/java/org/jcnc/jnotepad/component/stage/dialog/factory/DirectoryChooserFactory.java
rename to src/main/java/org/jcnc/jnotepad/ui/component/stage/dialog/factory/DirectoryChooserFactory.java
index 104f4b208c0aea7ede52bb9a649ddb86527c1f09..0958a10f15f02484208cecb8f94b74bee6488e05 100644
--- a/src/main/java/org/jcnc/jnotepad/component/stage/dialog/factory/DirectoryChooserFactory.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/component/stage/dialog/factory/DirectoryChooserFactory.java
@@ -1,4 +1,4 @@
-package org.jcnc.jnotepad.component.stage.dialog.factory;
+package org.jcnc.jnotepad.ui.component.stage.dialog.factory;
import javafx.stage.DirectoryChooser;
diff --git a/src/main/java/org/jcnc/jnotepad/component/stage/dialog/factory/FileChooserFactory.java b/src/main/java/org/jcnc/jnotepad/ui/component/stage/dialog/factory/FileChooserFactory.java
similarity index 94%
rename from src/main/java/org/jcnc/jnotepad/component/stage/dialog/factory/FileChooserFactory.java
rename to src/main/java/org/jcnc/jnotepad/ui/component/stage/dialog/factory/FileChooserFactory.java
index 954c7973a80db747f58b1a48f5ceaed7997bce0a..77f815f9adc67c18ecc7fa226bb330149d4aefbf 100644
--- a/src/main/java/org/jcnc/jnotepad/component/stage/dialog/factory/FileChooserFactory.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/component/stage/dialog/factory/FileChooserFactory.java
@@ -1,4 +1,4 @@
-package org.jcnc.jnotepad.component.stage.dialog.factory;
+package org.jcnc.jnotepad.ui.component.stage.dialog.factory;
import javafx.stage.FileChooser;
diff --git a/src/main/java/org/jcnc/jnotepad/component/stage/dialog/factory/impl/BasicDirectoryChooserFactory.java b/src/main/java/org/jcnc/jnotepad/ui/component/stage/dialog/factory/impl/BasicDirectoryChooserFactory.java
similarity index 90%
rename from src/main/java/org/jcnc/jnotepad/component/stage/dialog/factory/impl/BasicDirectoryChooserFactory.java
rename to src/main/java/org/jcnc/jnotepad/ui/component/stage/dialog/factory/impl/BasicDirectoryChooserFactory.java
index 9e07fc12bbdab69f14abeeb107be0ced16b916be..7870fcf8c30fb4cc430d1218b869f76670f99aa9 100644
--- a/src/main/java/org/jcnc/jnotepad/component/stage/dialog/factory/impl/BasicDirectoryChooserFactory.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/component/stage/dialog/factory/impl/BasicDirectoryChooserFactory.java
@@ -1,7 +1,7 @@
-package org.jcnc.jnotepad.component.stage.dialog.factory.impl;
+package org.jcnc.jnotepad.ui.component.stage.dialog.factory.impl;
import javafx.stage.DirectoryChooser;
-import org.jcnc.jnotepad.component.stage.dialog.factory.DirectoryChooserFactory;
+import org.jcnc.jnotepad.ui.component.stage.dialog.factory.DirectoryChooserFactory;
import java.io.File;
diff --git a/src/main/java/org/jcnc/jnotepad/component/stage/dialog/factory/impl/BasicFileChooserFactory.java b/src/main/java/org/jcnc/jnotepad/ui/component/stage/dialog/factory/impl/BasicFileChooserFactory.java
similarity index 94%
rename from src/main/java/org/jcnc/jnotepad/component/stage/dialog/factory/impl/BasicFileChooserFactory.java
rename to src/main/java/org/jcnc/jnotepad/ui/component/stage/dialog/factory/impl/BasicFileChooserFactory.java
index c84b86f4941460529b1b904c8487e93b0ba9ca7e..c8152d3c70a5b63a88fa42ed0217de1ac308e249 100644
--- a/src/main/java/org/jcnc/jnotepad/component/stage/dialog/factory/impl/BasicFileChooserFactory.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/component/stage/dialog/factory/impl/BasicFileChooserFactory.java
@@ -1,7 +1,7 @@
-package org.jcnc.jnotepad.component.stage.dialog.factory.impl;
+package org.jcnc.jnotepad.ui.component.stage.dialog.factory.impl;
import javafx.stage.FileChooser;
-import org.jcnc.jnotepad.component.stage.dialog.factory.FileChooserFactory;
+import org.jcnc.jnotepad.ui.component.stage.dialog.factory.FileChooserFactory;
import java.io.File;
import java.util.List;
diff --git a/src/main/java/org/jcnc/jnotepad/component/stage/dialog/interfaces/DialogButtonAction.java b/src/main/java/org/jcnc/jnotepad/ui/component/stage/dialog/interfaces/DialogButtonAction.java
similarity index 72%
rename from src/main/java/org/jcnc/jnotepad/component/stage/dialog/interfaces/DialogButtonAction.java
rename to src/main/java/org/jcnc/jnotepad/ui/component/stage/dialog/interfaces/DialogButtonAction.java
index f4bb4e44af44eb876f39263ef1845bd3190b6635..8a27e431b65d7b05e750b4a19ba75d4500d2f915 100644
--- a/src/main/java/org/jcnc/jnotepad/component/stage/dialog/interfaces/DialogButtonAction.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/component/stage/dialog/interfaces/DialogButtonAction.java
@@ -1,6 +1,6 @@
-package org.jcnc.jnotepad.component.stage.dialog.interfaces;
+package org.jcnc.jnotepad.ui.component.stage.dialog.interfaces;
-import org.jcnc.jnotepad.component.stage.dialog.AppDialogStage;
+import org.jcnc.jnotepad.ui.component.stage.dialog.AppDialogStage;
/**
* 对话框按钮点击事件接口
diff --git a/src/main/java/org/jcnc/jnotepad/component/stage/setting/CustomSetButton.java b/src/main/java/org/jcnc/jnotepad/ui/component/stage/setting/CustomSetButton.java
similarity index 79%
rename from src/main/java/org/jcnc/jnotepad/component/stage/setting/CustomSetButton.java
rename to src/main/java/org/jcnc/jnotepad/ui/component/stage/setting/CustomSetButton.java
index 8432ca74fd10998996a933a9a9c20e48a8deafb1..b349004a2fb1200c413c115d09e0aa138ee66263 100644
--- a/src/main/java/org/jcnc/jnotepad/component/stage/setting/CustomSetButton.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/component/stage/setting/CustomSetButton.java
@@ -1,4 +1,4 @@
-package org.jcnc.jnotepad.component.stage.setting;
+package org.jcnc.jnotepad.ui.component.stage.setting;
import javafx.scene.control.Button;
diff --git a/src/main/java/org/jcnc/jnotepad/component/stage/setting/SetDevBox.java b/src/main/java/org/jcnc/jnotepad/ui/component/stage/setting/SetDevBox.java
similarity index 97%
rename from src/main/java/org/jcnc/jnotepad/component/stage/setting/SetDevBox.java
rename to src/main/java/org/jcnc/jnotepad/ui/component/stage/setting/SetDevBox.java
index 990c8499c5ddb907f7997314ccc3b73660d7b9fc..123464b3d9b727ea4a6fcd4b08fce0931311fd99 100644
--- a/src/main/java/org/jcnc/jnotepad/component/stage/setting/SetDevBox.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/component/stage/setting/SetDevBox.java
@@ -1,4 +1,4 @@
-package org.jcnc.jnotepad.component.stage.setting;
+package org.jcnc.jnotepad.ui.component.stage.setting;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
diff --git a/src/main/java/org/jcnc/jnotepad/component/stage/setting/SetStage.java b/src/main/java/org/jcnc/jnotepad/ui/component/stage/setting/SetStage.java
similarity index 95%
rename from src/main/java/org/jcnc/jnotepad/component/stage/setting/SetStage.java
rename to src/main/java/org/jcnc/jnotepad/ui/component/stage/setting/SetStage.java
index b6aa98bd57cfd49d9a40bd09e49562292c7f3048..6be26fcfc5d4530391010c067052ad45a429b03b 100644
--- a/src/main/java/org/jcnc/jnotepad/component/stage/setting/SetStage.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/component/stage/setting/SetStage.java
@@ -1,4 +1,4 @@
-package org.jcnc.jnotepad.component.stage.setting;
+package org.jcnc.jnotepad.ui.component.stage.setting;
import atlantafx.base.controls.CustomTextField;
import atlantafx.base.theme.Styles;
@@ -16,24 +16,24 @@ import javafx.scene.text.Font;
import javafx.scene.text.Text;
import javafx.stage.Modality;
import javafx.stage.Stage;
+import org.jcnc.jnotepad.app.common.constants.TextConstants;
+import org.jcnc.jnotepad.app.common.manager.ApplicationCacheManager;
import org.jcnc.jnotepad.app.config.AppConfig;
import org.jcnc.jnotepad.app.i18n.UiResourceBundle;
import org.jcnc.jnotepad.app.manager.ApplicationManager;
-import org.jcnc.jnotepad.common.constants.TextConstants;
-import org.jcnc.jnotepad.common.manager.ApplicationCacheManager;
-import org.jcnc.jnotepad.component.stage.dialog.factory.impl.BasicDirectoryChooserFactory;
+import org.jcnc.jnotepad.app.utils.PopUpUtil;
+import org.jcnc.jnotepad.app.utils.UiUtil;
import org.jcnc.jnotepad.controller.config.AppConfigController;
import org.jcnc.jnotepad.controller.event.handler.toolbar.OpenDirectory;
+import org.jcnc.jnotepad.controller.plugin.PluginManagerInterface;
import org.jcnc.jnotepad.model.entity.Cache;
import org.jcnc.jnotepad.model.enums.CacheExpirationTime;
-import org.jcnc.jnotepad.plugin.PluginManagerInterface;
-import org.jcnc.jnotepad.util.PopUpUtil;
-import org.jcnc.jnotepad.util.UiUtil;
+import org.jcnc.jnotepad.ui.component.stage.dialog.factory.impl.BasicDirectoryChooserFactory;
import java.io.File;
-import static org.jcnc.jnotepad.common.constants.AppConstants.SCREEN_LENGTH;
-import static org.jcnc.jnotepad.common.constants.AppConstants.SCREEN_WIDTH;
+import static org.jcnc.jnotepad.app.common.constants.AppConstants.SCREEN_LENGTH;
+import static org.jcnc.jnotepad.app.common.constants.AppConstants.SCREEN_WIDTH;
/**
* SetStage类表示设置窗口的单例对象。此窗口用于显示不同的设置选项和其对应的布局。
diff --git a/src/main/java/org/jcnc/jnotepad/component/stage/topmenu/builder/StageButtonBuilder.java b/src/main/java/org/jcnc/jnotepad/ui/component/stage/topmenu/builder/StageButtonBuilder.java
similarity index 92%
rename from src/main/java/org/jcnc/jnotepad/component/stage/topmenu/builder/StageButtonBuilder.java
rename to src/main/java/org/jcnc/jnotepad/ui/component/stage/topmenu/builder/StageButtonBuilder.java
index 22e022b0b6ee8e8c500129ee7b3108dc14268029..01b7ec7590f4a637cdc8fd3545e120952bd14e10 100644
--- a/src/main/java/org/jcnc/jnotepad/component/stage/topmenu/builder/StageButtonBuilder.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/component/stage/topmenu/builder/StageButtonBuilder.java
@@ -1,4 +1,4 @@
-package org.jcnc.jnotepad.component.stage.topmenu.builder;
+package org.jcnc.jnotepad.ui.component.stage.topmenu.builder;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
diff --git a/src/main/java/org/jcnc/jnotepad/component/stage/topmenu/help/DeveloperDebugPaneStage.java b/src/main/java/org/jcnc/jnotepad/ui/component/stage/topmenu/help/DeveloperDebugPaneStage.java
similarity index 94%
rename from src/main/java/org/jcnc/jnotepad/component/stage/topmenu/help/DeveloperDebugPaneStage.java
rename to src/main/java/org/jcnc/jnotepad/ui/component/stage/topmenu/help/DeveloperDebugPaneStage.java
index 7735781b90b30cdf44b62bc00dbd7626cbab1ac1..a9bcba6e1732fe113d7449999d4fee47885d4212 100644
--- a/src/main/java/org/jcnc/jnotepad/component/stage/topmenu/help/DeveloperDebugPaneStage.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/component/stage/topmenu/help/DeveloperDebugPaneStage.java
@@ -1,4 +1,4 @@
-package org.jcnc.jnotepad.component.stage.topmenu.help;
+package org.jcnc.jnotepad.ui.component.stage.topmenu.help;
import javafx.geometry.Insets;
import javafx.scene.Scene;
@@ -10,10 +10,10 @@ import javafx.scene.layout.VBox;
import javafx.stage.Stage;
import org.jcnc.jnotepad.api.core.component.stage.AbstractPaneStage;
import org.jcnc.jnotepad.app.manager.ApplicationManager;
-import org.jcnc.jnotepad.component.stage.topmenu.builder.StageButtonBuilder;
-import org.jcnc.jnotepad.util.LogUtil;
-import org.jcnc.jnotepad.util.PopUpUtil;
-import org.jcnc.jnotepad.util.UiUtil;
+import org.jcnc.jnotepad.app.utils.LogUtil;
+import org.jcnc.jnotepad.app.utils.PopUpUtil;
+import org.jcnc.jnotepad.app.utils.UiUtil;
+import org.jcnc.jnotepad.ui.component.stage.topmenu.builder.StageButtonBuilder;
import org.slf4j.Logger;
/**
diff --git a/src/main/java/org/jcnc/jnotepad/component/stage/topmenu/help/HelpPaneStage.java b/src/main/java/org/jcnc/jnotepad/ui/component/stage/topmenu/help/HelpPaneStage.java
similarity index 95%
rename from src/main/java/org/jcnc/jnotepad/component/stage/topmenu/help/HelpPaneStage.java
rename to src/main/java/org/jcnc/jnotepad/ui/component/stage/topmenu/help/HelpPaneStage.java
index 7ac86add93c912a729ae5afa12172531946a90db..14b0dc69fcad326361fdbe84ea0f8ba108a6bd69 100644
--- a/src/main/java/org/jcnc/jnotepad/component/stage/topmenu/help/HelpPaneStage.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/component/stage/topmenu/help/HelpPaneStage.java
@@ -1,4 +1,4 @@
-package org.jcnc.jnotepad.component.stage.topmenu.help;
+package org.jcnc.jnotepad.ui.component.stage.topmenu.help;
import atlantafx.base.theme.Styles;
import javafx.event.ActionEvent;
@@ -16,12 +16,12 @@ import javafx.scene.layout.VBox;
import javafx.stage.Modality;
import javafx.stage.Stage;
import org.jcnc.jnotepad.api.core.component.stage.AbstractPaneStage;
-import org.jcnc.jnotepad.util.ClipboardUtil;
-import org.jcnc.jnotepad.util.LogUtil;
-import org.jcnc.jnotepad.util.NotificationUtil;
-import org.jcnc.jnotepad.util.UiUtil;
+import org.jcnc.jnotepad.app.utils.ClipboardUtil;
+import org.jcnc.jnotepad.app.utils.LogUtil;
+import org.jcnc.jnotepad.app.utils.NotificationUtil;
+import org.jcnc.jnotepad.app.utils.UiUtil;
-import static org.jcnc.jnotepad.common.constants.AppConstants.*;
+import static org.jcnc.jnotepad.app.common.constants.AppConstants.*;
/**
* 帮助页面
diff --git a/src/main/java/org/jcnc/jnotepad/component/stage/topmenu/plugin/CustomSplitPane.java b/src/main/java/org/jcnc/jnotepad/ui/component/stage/topmenu/plugin/CustomSplitPane.java
similarity index 96%
rename from src/main/java/org/jcnc/jnotepad/component/stage/topmenu/plugin/CustomSplitPane.java
rename to src/main/java/org/jcnc/jnotepad/ui/component/stage/topmenu/plugin/CustomSplitPane.java
index 42a6e360f3a7a8b286f3ebb6171e5e0800995eab..4018f0a5d96c8adda1b91b425a1ae7d2bd382f87 100644
--- a/src/main/java/org/jcnc/jnotepad/component/stage/topmenu/plugin/CustomSplitPane.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/component/stage/topmenu/plugin/CustomSplitPane.java
@@ -1,4 +1,4 @@
-package org.jcnc.jnotepad.component.stage.topmenu.plugin;
+package org.jcnc.jnotepad.ui.component.stage.topmenu.plugin;
import javafx.geometry.Orientation;
import javafx.scene.control.SplitPane;
diff --git a/src/main/java/org/jcnc/jnotepad/component/stage/topmenu/plugin/PluginManagementPane.java b/src/main/java/org/jcnc/jnotepad/ui/component/stage/topmenu/plugin/PluginManagementPane.java
similarity index 97%
rename from src/main/java/org/jcnc/jnotepad/component/stage/topmenu/plugin/PluginManagementPane.java
rename to src/main/java/org/jcnc/jnotepad/ui/component/stage/topmenu/plugin/PluginManagementPane.java
index fa39582fb8bdae9734215d2a11f26bebd482ef5e..7717116ada1b1d9b53b9c02eeae1eb74ea3acbeb 100644
--- a/src/main/java/org/jcnc/jnotepad/component/stage/topmenu/plugin/PluginManagementPane.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/component/stage/topmenu/plugin/PluginManagementPane.java
@@ -1,4 +1,4 @@
-package org.jcnc.jnotepad.component.stage.topmenu.plugin;
+package org.jcnc.jnotepad.ui.component.stage.topmenu.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.component.stage.AbstractPaneStage;
-import org.jcnc.jnotepad.component.stage.setting.CustomSetButton;
+import org.jcnc.jnotepad.app.utils.LogUtil;
+import org.jcnc.jnotepad.app.utils.PopUpUtil;
+import org.jcnc.jnotepad.app.utils.UiUtil;
+import org.jcnc.jnotepad.controller.plugin.manager.PluginManager;
import org.jcnc.jnotepad.model.entity.PluginDescriptor;
-import org.jcnc.jnotepad.plugin.manager.PluginManager;
-import org.jcnc.jnotepad.util.LogUtil;
-import org.jcnc.jnotepad.util.PopUpUtil;
-import org.jcnc.jnotepad.util.UiUtil;
+import org.jcnc.jnotepad.ui.component.stage.setting.CustomSetButton;
import org.slf4j.Logger;
import java.awt.*;
diff --git a/src/main/java/org/jcnc/jnotepad/ui/views/aReadme.md b/src/main/java/org/jcnc/jnotepad/ui/views/aReadme.md
new file mode 100644
index 0000000000000000000000000000000000000000..3c76b3bd226669051cd94140bd0bc747f2537d9f
--- /dev/null
+++ b/src/main/java/org/jcnc/jnotepad/ui/views/aReadme.md
@@ -0,0 +1 @@
+view 存放与视图相关的代码。
diff --git a/src/main/java/org/jcnc/jnotepad/views/manager/BottomStatusBoxManager.java b/src/main/java/org/jcnc/jnotepad/ui/views/manager/BottomStatusBoxManager.java
similarity index 95%
rename from src/main/java/org/jcnc/jnotepad/views/manager/BottomStatusBoxManager.java
rename to src/main/java/org/jcnc/jnotepad/ui/views/manager/BottomStatusBoxManager.java
index 4874082cf8e1d1bc54fa7d6326efd30f60983f4a..afb5bed2141d3a7907a4039fca7019bc660c37bc 100644
--- a/src/main/java/org/jcnc/jnotepad/views/manager/BottomStatusBoxManager.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/views/manager/BottomStatusBoxManager.java
@@ -1,4 +1,4 @@
-package org.jcnc.jnotepad.views.manager;
+package org.jcnc.jnotepad.ui.views.manager;
import javafx.beans.value.ChangeListener;
import javafx.collections.ObservableList;
@@ -10,12 +10,12 @@ import javafx.scene.control.Label;
import javafx.scene.control.Tab;
import javafx.scene.layout.HBox;
import org.jcnc.jnotepad.api.core.views.manager.builder.BottomStatusBoxButtonBuilder;
+import org.jcnc.jnotepad.app.common.constants.TextConstants;
import org.jcnc.jnotepad.app.i18n.UiResourceBundle;
-import org.jcnc.jnotepad.common.constants.TextConstants;
-import org.jcnc.jnotepad.component.module.TextCodeArea;
-import org.jcnc.jnotepad.views.root.bottom.status.BottomStatusBox;
-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.ui.component.module.TextCodeArea;
+import org.jcnc.jnotepad.ui.views.root.bottom.status.BottomStatusBox;
+import org.jcnc.jnotepad.ui.views.root.center.main.center.tab.CenterTab;
+import org.jcnc.jnotepad.ui.views.root.center.main.center.tab.CenterTabPane;
import org.kordamp.ikonli.javafx.FontIcon;
import java.nio.charset.Charset;
diff --git a/src/main/java/org/jcnc/jnotepad/views/manager/BuildPanelManager.java b/src/main/java/org/jcnc/jnotepad/ui/views/manager/BuildPanelManager.java
similarity index 89%
rename from src/main/java/org/jcnc/jnotepad/views/manager/BuildPanelManager.java
rename to src/main/java/org/jcnc/jnotepad/ui/views/manager/BuildPanelManager.java
index 199fb7344f8a8e18855209f4a725a4499297942d..4ba4cb20a3615b689f9c4283021385996e1b922f 100644
--- a/src/main/java/org/jcnc/jnotepad/views/manager/BuildPanelManager.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/views/manager/BuildPanelManager.java
@@ -1,8 +1,8 @@
-package org.jcnc.jnotepad.views.manager;
+package org.jcnc.jnotepad.ui.views.manager;
import javafx.scene.control.SplitPane;
-import org.jcnc.jnotepad.component.module.TextCodeArea;
-import org.jcnc.jnotepad.views.root.center.main.MainBorderPane;
+import org.jcnc.jnotepad.ui.component.module.TextCodeArea;
+import org.jcnc.jnotepad.ui.views.root.center.main.MainBorderPane;
/**
* 构建底部三大菜单管理类
diff --git a/src/main/java/org/jcnc/jnotepad/views/manager/CenterTabPaneManager.java b/src/main/java/org/jcnc/jnotepad/ui/views/manager/CenterTabPaneManager.java
similarity index 95%
rename from src/main/java/org/jcnc/jnotepad/views/manager/CenterTabPaneManager.java
rename to src/main/java/org/jcnc/jnotepad/ui/views/manager/CenterTabPaneManager.java
index d7e65849281d920b3ee24760cef40ba6b3fbd352..4d3cbc9ff9c2099db40ecef60399c3c7dcd793f6 100644
--- a/src/main/java/org/jcnc/jnotepad/views/manager/CenterTabPaneManager.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/views/manager/CenterTabPaneManager.java
@@ -1,18 +1,18 @@
-package org.jcnc.jnotepad.views.manager;
+package org.jcnc.jnotepad.ui.views.manager;
import javafx.collections.ListChangeListener;
import javafx.collections.ObservableList;
import javafx.scene.control.Tab;
import javafx.stage.Stage;
-import org.jcnc.jnotepad.common.manager.ApplicationCacheManager;
-import org.jcnc.jnotepad.component.module.TextCodeArea;
+import org.jcnc.jnotepad.app.common.manager.ApplicationCacheManager;
+import org.jcnc.jnotepad.app.utils.FileUtil;
+import org.jcnc.jnotepad.app.utils.PopUpUtil;
import org.jcnc.jnotepad.controller.config.UserConfigController;
import org.jcnc.jnotepad.model.enums.CacheExpirationTime;
-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;
+import org.jcnc.jnotepad.ui.component.module.TextCodeArea;
+import org.jcnc.jnotepad.ui.views.root.center.main.center.tab.CenterTab;
+import org.jcnc.jnotepad.ui.views.root.center.main.center.tab.CenterTabPane;
+import org.jcnc.jnotepad.ui.views.root.top.menubar.TopMenuBar;
import java.io.File;
import java.util.ArrayList;
diff --git a/src/main/java/org/jcnc/jnotepad/views/manager/DirectorySidebarManager.java b/src/main/java/org/jcnc/jnotepad/ui/views/manager/DirectorySidebarManager.java
similarity index 92%
rename from src/main/java/org/jcnc/jnotepad/views/manager/DirectorySidebarManager.java
rename to src/main/java/org/jcnc/jnotepad/ui/views/manager/DirectorySidebarManager.java
index bc2b104ef6bd286c6799c0a7dd0b6a93aa733dd7..f774190f0e117f35b176b0b4032bff6d25d5ae1e 100644
--- a/src/main/java/org/jcnc/jnotepad/views/manager/DirectorySidebarManager.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/views/manager/DirectorySidebarManager.java
@@ -1,15 +1,15 @@
-package org.jcnc.jnotepad.views.manager;
+package org.jcnc.jnotepad.ui.views.manager;
import javafx.beans.value.ChangeListener;
import javafx.scene.control.SplitPane;
import javafx.scene.control.TreeItem;
-import org.jcnc.jnotepad.common.constants.SplitPaneItemConstants;
-import org.jcnc.jnotepad.common.manager.ApplicationCacheManager;
+import org.jcnc.jnotepad.app.common.constants.SplitPaneItemConstants;
+import org.jcnc.jnotepad.app.common.manager.ApplicationCacheManager;
+import org.jcnc.jnotepad.app.utils.FileUtil;
import org.jcnc.jnotepad.controller.event.handler.toolbar.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;
+import org.jcnc.jnotepad.ui.views.root.center.main.MainBorderPane;
+import org.jcnc.jnotepad.ui.views.root.center.main.center.directory.DirectorySidebarPane;
import java.io.File;
import java.util.List;
diff --git a/src/main/java/org/jcnc/jnotepad/views/manager/MainBorderPaneManager.java b/src/main/java/org/jcnc/jnotepad/ui/views/manager/MainBorderPaneManager.java
similarity index 77%
rename from src/main/java/org/jcnc/jnotepad/views/manager/MainBorderPaneManager.java
rename to src/main/java/org/jcnc/jnotepad/ui/views/manager/MainBorderPaneManager.java
index 79aa88ca0061886b9cc6124ae5f2c36731e77548..aff2c0148bfb553dc79152995f0b17bf91fea2ca 100644
--- a/src/main/java/org/jcnc/jnotepad/views/manager/MainBorderPaneManager.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/views/manager/MainBorderPaneManager.java
@@ -1,12 +1,12 @@
-package org.jcnc.jnotepad.views.manager;
+package org.jcnc.jnotepad.ui.views.manager;
import javafx.geometry.Orientation;
import javafx.scene.control.SplitPane;
-import org.jcnc.jnotepad.common.constants.SplitPaneItemConstants;
-import org.jcnc.jnotepad.component.module.vbox.BuildPanel;
-import org.jcnc.jnotepad.views.root.center.main.MainBorderPane;
-import org.jcnc.jnotepad.views.root.center.main.center.directory.DirectorySidebarPane;
-import org.jcnc.jnotepad.views.root.center.main.center.tab.CenterTabPane;
+import org.jcnc.jnotepad.app.common.constants.SplitPaneItemConstants;
+import org.jcnc.jnotepad.ui.component.module.vbox.BuildPanel;
+import org.jcnc.jnotepad.ui.views.root.center.main.MainBorderPane;
+import org.jcnc.jnotepad.ui.views.root.center.main.center.directory.DirectorySidebarPane;
+import org.jcnc.jnotepad.ui.views.root.center.main.center.tab.CenterTabPane;
/**
* 主界面边界布局
@@ -52,7 +52,7 @@ public class MainBorderPaneManager {
BuildPanel buildPanel = BuildPanel.getInstance();
rootSplitPane.getItems().add(SplitPaneItemConstants.ROOT_SPLIT_PANE_TOP_SPLIT_PANE, topSplitPane);
- rootSplitPane.getItems().add(SplitPaneItemConstants.ROOT_SPLIT_PANE_CMDBox, buildPanel);
+ rootSplitPane.getItems().add(SplitPaneItemConstants.TOP_SPLIT_PANE_CENTER_TAB_PANE, buildPanel);
// 将总分割面板设置在布局中部
MAIN_BORDER_PANE.setCenterComponent(rootSplitPane);
diff --git a/src/main/java/org/jcnc/jnotepad/views/manager/RootBorderPaneManager.java b/src/main/java/org/jcnc/jnotepad/ui/views/manager/RootBorderPaneManager.java
similarity index 74%
rename from src/main/java/org/jcnc/jnotepad/views/manager/RootBorderPaneManager.java
rename to src/main/java/org/jcnc/jnotepad/ui/views/manager/RootBorderPaneManager.java
index 005e4a2787b93545cba26d0409f9338b7406f758..82fa0c725e932e414063480262cbebf3bf3ab86b 100644
--- a/src/main/java/org/jcnc/jnotepad/views/manager/RootBorderPaneManager.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/views/manager/RootBorderPaneManager.java
@@ -1,11 +1,11 @@
-package org.jcnc.jnotepad.views.manager;
-
-import org.jcnc.jnotepad.views.root.RootBorderPane;
-import org.jcnc.jnotepad.views.root.bottom.RootBottomSideBarVerticalBox;
-import org.jcnc.jnotepad.views.root.center.main.MainBorderPane;
-import org.jcnc.jnotepad.views.root.left.sidebar.tools.ToolVerticalBox;
-import org.jcnc.jnotepad.views.root.right.RootRightSideBarVerticalBox;
-import org.jcnc.jnotepad.views.root.top.RootTopBorderPane;
+package org.jcnc.jnotepad.ui.views.manager;
+
+import org.jcnc.jnotepad.ui.views.root.RootBorderPane;
+import org.jcnc.jnotepad.ui.views.root.bottom.RootBottomSideBarVerticalBox;
+import org.jcnc.jnotepad.ui.views.root.center.main.MainBorderPane;
+import org.jcnc.jnotepad.ui.views.root.left.sidebar.tools.ToolVerticalBox;
+import org.jcnc.jnotepad.ui.views.root.right.RootRightSideBarVerticalBox;
+import org.jcnc.jnotepad.ui.views.root.top.RootTopBorderPane;
/**
* 应用程序的根布局管理类
diff --git a/src/main/java/org/jcnc/jnotepad/views/manager/RootBottomSideBarVerticalBoxManager.java b/src/main/java/org/jcnc/jnotepad/ui/views/manager/RootBottomSideBarVerticalBoxManager.java
similarity index 81%
rename from src/main/java/org/jcnc/jnotepad/views/manager/RootBottomSideBarVerticalBoxManager.java
rename to src/main/java/org/jcnc/jnotepad/ui/views/manager/RootBottomSideBarVerticalBoxManager.java
index 107b4ab261442b216883471394c4b70e52d02fb0..0120c8da09be67dacb17acb5f0906fe1374f6d25 100644
--- a/src/main/java/org/jcnc/jnotepad/views/manager/RootBottomSideBarVerticalBoxManager.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/views/manager/RootBottomSideBarVerticalBoxManager.java
@@ -1,9 +1,9 @@
-package org.jcnc.jnotepad.views.manager;
+package org.jcnc.jnotepad.ui.views.manager;
import javafx.scene.layout.VBox;
-import org.jcnc.jnotepad.views.root.bottom.RootBottomSideBarVerticalBox;
-import org.jcnc.jnotepad.views.root.bottom.function.FunctionBox;
-import org.jcnc.jnotepad.views.root.bottom.status.BottomStatusBox;
+import org.jcnc.jnotepad.ui.views.root.bottom.RootBottomSideBarVerticalBox;
+import org.jcnc.jnotepad.ui.views.root.bottom.function.FunctionBox;
+import org.jcnc.jnotepad.ui.views.root.bottom.status.BottomStatusBox;
/**
* 底部根侧边栏垂直布局管理类
diff --git a/src/main/java/org/jcnc/jnotepad/views/manager/RootManager.java b/src/main/java/org/jcnc/jnotepad/ui/views/manager/RootManager.java
similarity index 98%
rename from src/main/java/org/jcnc/jnotepad/views/manager/RootManager.java
rename to src/main/java/org/jcnc/jnotepad/ui/views/manager/RootManager.java
index fc6b5bc526061f9718d5bb3f9a2617241c2b716a..5e0fb3786567b98607898a2caf662b6b9a63494f 100644
--- a/src/main/java/org/jcnc/jnotepad/views/manager/RootManager.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/views/manager/RootManager.java
@@ -1,4 +1,4 @@
-package org.jcnc.jnotepad.views.manager;
+package org.jcnc.jnotepad.ui.views.manager;
import atlantafx.base.controls.Notification;
import atlantafx.base.util.Animations;
@@ -12,7 +12,7 @@ import javafx.scene.layout.Region;
import javafx.scene.layout.StackPane;
import javafx.util.Duration;
import org.jcnc.jnotepad.controller.exception.AppException;
-import org.jcnc.jnotepad.views.root.RootBorderPane;
+import org.jcnc.jnotepad.ui.views.root.RootBorderPane;
/**
* 根布局管理器类,用于管理记事本应用程序的根布局组件。
diff --git a/src/main/java/org/jcnc/jnotepad/views/manager/RootRightSideBarVerticalBoxManager.java b/src/main/java/org/jcnc/jnotepad/ui/views/manager/RootRightSideBarVerticalBoxManager.java
similarity index 85%
rename from src/main/java/org/jcnc/jnotepad/views/manager/RootRightSideBarVerticalBoxManager.java
rename to src/main/java/org/jcnc/jnotepad/ui/views/manager/RootRightSideBarVerticalBoxManager.java
index e06a904a4f9b1581087817124f686d34b59ef618..a7cbe4badc2062cf0c8af559bbb805880e2e0801 100644
--- a/src/main/java/org/jcnc/jnotepad/views/manager/RootRightSideBarVerticalBoxManager.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/views/manager/RootRightSideBarVerticalBoxManager.java
@@ -1,6 +1,6 @@
-package org.jcnc.jnotepad.views.manager;
+package org.jcnc.jnotepad.ui.views.manager;
-import org.jcnc.jnotepad.views.root.right.RootRightSideBarVerticalBox;
+import org.jcnc.jnotepad.ui.views.root.right.RootRightSideBarVerticalBox;
/**
* 右侧边栏的垂直布局容器管理类
diff --git a/src/main/java/org/jcnc/jnotepad/views/manager/RootTopBorderPaneManager.java b/src/main/java/org/jcnc/jnotepad/ui/views/manager/RootTopBorderPaneManager.java
similarity index 80%
rename from src/main/java/org/jcnc/jnotepad/views/manager/RootTopBorderPaneManager.java
rename to src/main/java/org/jcnc/jnotepad/ui/views/manager/RootTopBorderPaneManager.java
index 0d8308c64c9cb74eb0a2009b1326291fbad77d60..f0921fe2b6213b0c945784ae3a4b717256e1d65e 100644
--- a/src/main/java/org/jcnc/jnotepad/views/manager/RootTopBorderPaneManager.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/views/manager/RootTopBorderPaneManager.java
@@ -1,7 +1,7 @@
-package org.jcnc.jnotepad.views.manager;
+package org.jcnc.jnotepad.ui.views.manager;
-import org.jcnc.jnotepad.views.root.top.RootTopBorderPane;
-import org.jcnc.jnotepad.views.root.top.menubar.TopMenuBar;
+import org.jcnc.jnotepad.ui.views.root.top.RootTopBorderPane;
+import org.jcnc.jnotepad.ui.views.root.top.menubar.TopMenuBar;
/**
* 顶部边界面板管理类
diff --git a/src/main/java/org/jcnc/jnotepad/views/manager/SidebarToolBarManager.java b/src/main/java/org/jcnc/jnotepad/ui/views/manager/SidebarToolBarManager.java
similarity index 94%
rename from src/main/java/org/jcnc/jnotepad/views/manager/SidebarToolBarManager.java
rename to src/main/java/org/jcnc/jnotepad/ui/views/manager/SidebarToolBarManager.java
index cad62de1759e564db865465aabaf2e2b3b6fa09d..ba25342288f30bd2f9c11ec208ee8b2a3972b6b4 100644
--- a/src/main/java/org/jcnc/jnotepad/views/manager/SidebarToolBarManager.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/views/manager/SidebarToolBarManager.java
@@ -1,13 +1,13 @@
-package org.jcnc.jnotepad.views.manager;
+package org.jcnc.jnotepad.ui.views.manager;
import javafx.scene.Node;
import org.jcnc.jnotepad.api.core.views.manager.AbstractManager;
import org.jcnc.jnotepad.api.core.views.manager.builder.SideBarButtonBuilder;
+import org.jcnc.jnotepad.app.utils.UiUtil;
import org.jcnc.jnotepad.controller.event.handler.toolbar.DirTreeBtn;
import org.jcnc.jnotepad.controller.event.handler.toolbar.RunBtn;
import org.jcnc.jnotepad.controller.event.handler.toolbar.SetBtn;
-import org.jcnc.jnotepad.util.UiUtil;
-import org.jcnc.jnotepad.views.root.left.sidebar.tools.SidebarToolBar;
+import org.jcnc.jnotepad.ui.views.root.left.sidebar.tools.SidebarToolBar;
import java.util.ArrayList;
import java.util.List;
diff --git a/src/main/java/org/jcnc/jnotepad/views/manager/TopMenuBarManager.java b/src/main/java/org/jcnc/jnotepad/ui/views/manager/TopMenuBarManager.java
similarity index 94%
rename from src/main/java/org/jcnc/jnotepad/views/manager/TopMenuBarManager.java
rename to src/main/java/org/jcnc/jnotepad/ui/views/manager/TopMenuBarManager.java
index 03edb9f04729a69ffe91a94e145cd885725f4fbc..898e050b3f76032aec23dba869c5bc46bbfc69d9 100644
--- a/src/main/java/org/jcnc/jnotepad/views/manager/TopMenuBarManager.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/views/manager/TopMenuBarManager.java
@@ -1,4 +1,4 @@
-package org.jcnc.jnotepad.views.manager;
+package org.jcnc.jnotepad.ui.views.manager;
import javafx.collections.ObservableList;
import javafx.geometry.Insets;
@@ -6,11 +6,11 @@ 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.app.utils.LogUtil;
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.jcnc.jnotepad.ui.views.root.top.menubar.TopMenuBar;
+import org.jcnc.jnotepad.ui.views.root.top.menubar.menu.*;
import org.slf4j.Logger;
import java.util.ArrayList;
diff --git a/src/main/java/org/jcnc/jnotepad/views/root/RootBorderPane.java b/src/main/java/org/jcnc/jnotepad/ui/views/root/RootBorderPane.java
similarity index 85%
rename from src/main/java/org/jcnc/jnotepad/views/root/RootBorderPane.java
rename to src/main/java/org/jcnc/jnotepad/ui/views/root/RootBorderPane.java
index 88b50b42ee2870fe517df5875f6c46e86105e43b..1fcc2ed94efbf000147c779cb65fa61f5873bb25 100644
--- a/src/main/java/org/jcnc/jnotepad/views/root/RootBorderPane.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/views/root/RootBorderPane.java
@@ -1,6 +1,6 @@
-package org.jcnc.jnotepad.views.root;
+package org.jcnc.jnotepad.ui.views.root;
-import org.jcnc.jnotepad.component.module.base.AbstractBorderPane;
+import org.jcnc.jnotepad.ui.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/ui/views/root/bottom/RootBottomSideBarVerticalBox.java
similarity index 87%
rename from src/main/java/org/jcnc/jnotepad/views/root/bottom/RootBottomSideBarVerticalBox.java
rename to src/main/java/org/jcnc/jnotepad/ui/views/root/bottom/RootBottomSideBarVerticalBox.java
index ade00955b82ceb72c31309dbe46e5d279ae52fda..1b785bb303eef6ce78b125c102bff30163526cbd 100644
--- a/src/main/java/org/jcnc/jnotepad/views/root/bottom/RootBottomSideBarVerticalBox.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/views/root/bottom/RootBottomSideBarVerticalBox.java
@@ -1,7 +1,7 @@
-package org.jcnc.jnotepad.views.root.bottom;
+package org.jcnc.jnotepad.ui.views.root.bottom;
import javafx.scene.layout.VBox;
-import org.jcnc.jnotepad.component.module.base.AbstractVerticalBox;
+import org.jcnc.jnotepad.ui.component.module.base.AbstractVerticalBox;
/**
* 底部根侧边栏垂直布局
diff --git a/src/main/java/org/jcnc/jnotepad/views/root/bottom/function/FunctionBox.java b/src/main/java/org/jcnc/jnotepad/ui/views/root/bottom/function/FunctionBox.java
similarity index 92%
rename from src/main/java/org/jcnc/jnotepad/views/root/bottom/function/FunctionBox.java
rename to src/main/java/org/jcnc/jnotepad/ui/views/root/bottom/function/FunctionBox.java
index 0fcd58e26789414c3933ffa4145f4f6a90c599bc..5d9826af60ea30e8786df240e862e0c7923c3ab6 100644
--- a/src/main/java/org/jcnc/jnotepad/views/root/bottom/function/FunctionBox.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/views/root/bottom/function/FunctionBox.java
@@ -1,4 +1,4 @@
-package org.jcnc.jnotepad.views.root.bottom.function;
+package org.jcnc.jnotepad.ui.views.root.bottom.function;
import javafx.geometry.Insets;
import javafx.scene.control.MenuBar;
diff --git a/src/main/java/org/jcnc/jnotepad/views/root/bottom/status/BottomStatusBox.java b/src/main/java/org/jcnc/jnotepad/ui/views/root/bottom/status/BottomStatusBox.java
similarity index 87%
rename from src/main/java/org/jcnc/jnotepad/views/root/bottom/status/BottomStatusBox.java
rename to src/main/java/org/jcnc/jnotepad/ui/views/root/bottom/status/BottomStatusBox.java
index d95e7c61fd8d8923ff7a97a291aebf41c5ec770b..6f1133a5265c45fea019d3eaec654acde9d37f5d 100644
--- a/src/main/java/org/jcnc/jnotepad/views/root/bottom/status/BottomStatusBox.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/views/root/bottom/status/BottomStatusBox.java
@@ -1,8 +1,8 @@
-package org.jcnc.jnotepad.views.root.bottom.status;
+package org.jcnc.jnotepad.ui.views.root.bottom.status;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
-import org.jcnc.jnotepad.component.module.base.AbstractHorizontalBox;
+import org.jcnc.jnotepad.ui.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/ui/views/root/center/main/MainBorderPane.java
similarity index 80%
rename from src/main/java/org/jcnc/jnotepad/views/root/center/main/MainBorderPane.java
rename to src/main/java/org/jcnc/jnotepad/ui/views/root/center/main/MainBorderPane.java
index 5bbef69ef986e793ca176287a65f4c757d63e602..88eb532c3f51876c167104a7c3d10a1b3dc25f27 100644
--- a/src/main/java/org/jcnc/jnotepad/views/root/center/main/MainBorderPane.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/views/root/center/main/MainBorderPane.java
@@ -1,6 +1,6 @@
-package org.jcnc.jnotepad.views.root.center.main;
+package org.jcnc.jnotepad.ui.views.root.center.main;
-import org.jcnc.jnotepad.component.module.base.AbstractBorderPane;
+import org.jcnc.jnotepad.ui.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/ui/views/root/center/main/center/directory/DirectorySidebarPane.java
similarity index 89%
rename from src/main/java/org/jcnc/jnotepad/views/root/center/main/center/directory/DirectorySidebarPane.java
rename to src/main/java/org/jcnc/jnotepad/ui/views/root/center/main/center/directory/DirectorySidebarPane.java
index 02563bceab231252ba0d2c8440aef1b1d49fad11..f36bba42de13defcc8a9aaa22d290e08bcf74a6c 100644
--- a/src/main/java/org/jcnc/jnotepad/views/root/center/main/center/directory/DirectorySidebarPane.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/views/root/center/main/center/directory/DirectorySidebarPane.java
@@ -1,4 +1,4 @@
-package org.jcnc.jnotepad.views.root.center.main.center.directory;
+package org.jcnc.jnotepad.ui.views.root.center.main.center.directory;
import javafx.scene.control.TreeItem;
import javafx.scene.control.TreeView;
@@ -7,7 +7,7 @@ import org.jcnc.jnotepad.model.entity.DirFileModel;
import java.io.File;
import java.util.Objects;
-import static org.jcnc.jnotepad.util.TabUtil.openFileToTab;
+import static org.jcnc.jnotepad.app.utils.TabUtil.openFileToTab;
/**
diff --git a/src/main/java/org/jcnc/jnotepad/views/root/center/main/center/tab/CenterTab.java b/src/main/java/org/jcnc/jnotepad/ui/views/root/center/main/center/tab/CenterTab.java
similarity index 93%
rename from src/main/java/org/jcnc/jnotepad/views/root/center/main/center/tab/CenterTab.java
rename to src/main/java/org/jcnc/jnotepad/ui/views/root/center/main/center/tab/CenterTab.java
index f365523c4d62fbe7ccdc1ff262238c136f746fc9..6d1001f09c648d2e9a6df0fa83cb9bd04ff7892b 100644
--- a/src/main/java/org/jcnc/jnotepad/views/root/center/main/center/tab/CenterTab.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/views/root/center/main/center/tab/CenterTab.java
@@ -1,16 +1,16 @@
-package org.jcnc.jnotepad.views.root.center.main.center.tab;
+package org.jcnc.jnotepad.ui.views.root.center.main.center.tab;
import javafx.beans.property.BooleanProperty;
import javafx.beans.property.SimpleBooleanProperty;
import javafx.scene.control.Tab;
import org.fxmisc.flowless.VirtualizedScrollPane;
-import org.jcnc.jnotepad.component.module.TextCodeArea;
+import org.jcnc.jnotepad.app.utils.FileUtil;
+import org.jcnc.jnotepad.app.utils.LogUtil;
+import org.jcnc.jnotepad.app.utils.TabUtil;
import org.jcnc.jnotepad.controller.config.UserConfigController;
-import org.jcnc.jnotepad.util.FileUtil;
-import org.jcnc.jnotepad.util.LogUtil;
-import org.jcnc.jnotepad.util.TabUtil;
-import org.jcnc.jnotepad.views.manager.BottomStatusBoxManager;
-import org.jcnc.jnotepad.views.manager.CenterTabPaneManager;
+import org.jcnc.jnotepad.ui.component.module.TextCodeArea;
+import org.jcnc.jnotepad.ui.views.manager.BottomStatusBoxManager;
+import org.jcnc.jnotepad.ui.views.manager.CenterTabPaneManager;
import org.slf4j.Logger;
import java.io.BufferedWriter;
diff --git a/src/main/java/org/jcnc/jnotepad/views/root/center/main/center/tab/CenterTabPane.java b/src/main/java/org/jcnc/jnotepad/ui/views/root/center/main/center/tab/CenterTabPane.java
similarity index 84%
rename from src/main/java/org/jcnc/jnotepad/views/root/center/main/center/tab/CenterTabPane.java
rename to src/main/java/org/jcnc/jnotepad/ui/views/root/center/main/center/tab/CenterTabPane.java
index b242380a709a6d391a2d6d6a6b14ab701ce72507..c1909d3bf0a998f510ab6ee26a82c0460cff0cb1 100644
--- a/src/main/java/org/jcnc/jnotepad/views/root/center/main/center/tab/CenterTabPane.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/views/root/center/main/center/tab/CenterTabPane.java
@@ -1,4 +1,4 @@
-package org.jcnc.jnotepad.views.root.center.main.center.tab;
+package org.jcnc.jnotepad.ui.views.root.center.main.center.tab;
import javafx.scene.control.TabPane;
diff --git a/src/main/java/org/jcnc/jnotepad/views/root/left/sidebar/tools/SidebarToolBar.java b/src/main/java/org/jcnc/jnotepad/ui/views/root/left/sidebar/tools/SidebarToolBar.java
similarity index 96%
rename from src/main/java/org/jcnc/jnotepad/views/root/left/sidebar/tools/SidebarToolBar.java
rename to src/main/java/org/jcnc/jnotepad/ui/views/root/left/sidebar/tools/SidebarToolBar.java
index a406e4a04df14b8a74e44beb9084f286e9a0fb61..268e441be5f16c2e26651bd59e2d49ad382d20cd 100644
--- a/src/main/java/org/jcnc/jnotepad/views/root/left/sidebar/tools/SidebarToolBar.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/views/root/left/sidebar/tools/SidebarToolBar.java
@@ -1,4 +1,4 @@
-package org.jcnc.jnotepad.views.root.left.sidebar.tools;
+package org.jcnc.jnotepad.ui.views.root.left.sidebar.tools;
import javafx.geometry.Insets;
import javafx.geometry.Orientation;
diff --git a/src/main/java/org/jcnc/jnotepad/views/root/left/sidebar/tools/ToolVerticalBox.java b/src/main/java/org/jcnc/jnotepad/ui/views/root/left/sidebar/tools/ToolVerticalBox.java
similarity index 86%
rename from src/main/java/org/jcnc/jnotepad/views/root/left/sidebar/tools/ToolVerticalBox.java
rename to src/main/java/org/jcnc/jnotepad/ui/views/root/left/sidebar/tools/ToolVerticalBox.java
index 4b16b08b0af78a9e3af719a37c80eb724ffb2eed..69a189b64c819d216cb21e785ca6458e3d5598bb 100644
--- a/src/main/java/org/jcnc/jnotepad/views/root/left/sidebar/tools/ToolVerticalBox.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/views/root/left/sidebar/tools/ToolVerticalBox.java
@@ -1,8 +1,8 @@
-package org.jcnc.jnotepad.views.root.left.sidebar.tools;
+package org.jcnc.jnotepad.ui.views.root.left.sidebar.tools;
import javafx.scene.layout.Priority;
import javafx.scene.layout.VBox;
-import org.jcnc.jnotepad.component.module.base.AbstractVerticalBox;
+import org.jcnc.jnotepad.ui.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/ui/views/root/right/RootRightSideBarVerticalBox.java
similarity index 85%
rename from src/main/java/org/jcnc/jnotepad/views/root/right/RootRightSideBarVerticalBox.java
rename to src/main/java/org/jcnc/jnotepad/ui/views/root/right/RootRightSideBarVerticalBox.java
index 6de4e90357becfd4e276cdbfb01723a9f38bb3c7..aed21d16d6da107b38a89118afa7e1ab3c2bf106 100644
--- a/src/main/java/org/jcnc/jnotepad/views/root/right/RootRightSideBarVerticalBox.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/views/root/right/RootRightSideBarVerticalBox.java
@@ -1,6 +1,6 @@
-package org.jcnc.jnotepad.views.root.right;
+package org.jcnc.jnotepad.ui.views.root.right;
-import org.jcnc.jnotepad.component.module.base.AbstractVerticalBox;
+import org.jcnc.jnotepad.ui.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/ui/views/root/top/RootTopBorderPane.java
similarity index 85%
rename from src/main/java/org/jcnc/jnotepad/views/root/top/RootTopBorderPane.java
rename to src/main/java/org/jcnc/jnotepad/ui/views/root/top/RootTopBorderPane.java
index 7cd3d7a72ac46f4a32275cdebd9129366b691ebc..2abc29d18cb6e5f42e8e0dbd8de95128ef259ac9 100644
--- a/src/main/java/org/jcnc/jnotepad/views/root/top/RootTopBorderPane.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/views/root/top/RootTopBorderPane.java
@@ -1,6 +1,6 @@
-package org.jcnc.jnotepad.views.root.top;
+package org.jcnc.jnotepad.ui.views.root.top;
-import org.jcnc.jnotepad.component.module.base.AbstractBorderPane;
+import org.jcnc.jnotepad.ui.component.module.base.AbstractBorderPane;
/**
* RootTopBorderPane 类表示 JNotepad 应用程序的顶部边界面板。
diff --git a/src/main/java/org/jcnc/jnotepad/views/root/top/menubar/TopMenuBar.java b/src/main/java/org/jcnc/jnotepad/ui/views/root/top/menubar/TopMenuBar.java
similarity index 96%
rename from src/main/java/org/jcnc/jnotepad/views/root/top/menubar/TopMenuBar.java
rename to src/main/java/org/jcnc/jnotepad/ui/views/root/top/menubar/TopMenuBar.java
index 7d82c07bd5854f4d78696a4d22d4918b996f61d2..ca594df162ea2f124f05a53ac137ae0e875fb3c3 100644
--- a/src/main/java/org/jcnc/jnotepad/views/root/top/menubar/TopMenuBar.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/views/root/top/menubar/TopMenuBar.java
@@ -1,8 +1,8 @@
-package org.jcnc.jnotepad.views.root.top.menubar;
+package org.jcnc.jnotepad.ui.views.root.top.menubar;
import javafx.scene.control.*;
-import org.jcnc.jnotepad.views.manager.CenterTabPaneManager;
-import org.jcnc.jnotepad.views.root.center.main.center.tab.CenterTab;
+import org.jcnc.jnotepad.ui.views.manager.CenterTabPaneManager;
+import org.jcnc.jnotepad.ui.views.root.center.main.center.tab.CenterTab;
import java.util.HashMap;
import java.util.Map;
diff --git a/src/main/java/org/jcnc/jnotepad/views/root/top/menubar/menu/FileTopMenu.java b/src/main/java/org/jcnc/jnotepad/ui/views/root/top/menubar/menu/FileTopMenu.java
similarity index 93%
rename from src/main/java/org/jcnc/jnotepad/views/root/top/menubar/menu/FileTopMenu.java
rename to src/main/java/org/jcnc/jnotepad/ui/views/root/top/menubar/menu/FileTopMenu.java
index ceac3731e3967b1a612f6c84d21da956259df40a..0d290db952b7808af8ccb8d3a87986121f794e0d 100644
--- a/src/main/java/org/jcnc/jnotepad/views/root/top/menubar/menu/FileTopMenu.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/views/root/top/menubar/menu/FileTopMenu.java
@@ -1,4 +1,4 @@
-package org.jcnc.jnotepad.views.root.top.menubar.menu;
+package org.jcnc.jnotepad.ui.views.root.top.menubar.menu;
import javafx.scene.control.Menu;
import javafx.scene.control.MenuItem;
@@ -9,7 +9,7 @@ import org.jcnc.jnotepad.controller.event.handler.toolbar.OpenDirectory;
import java.util.HashMap;
import java.util.Map;
-import static org.jcnc.jnotepad.common.constants.TextConstants.*;
+import static org.jcnc.jnotepad.app.common.constants.TextConstants.*;
/**
* 文件菜单
diff --git a/src/main/java/org/jcnc/jnotepad/views/root/top/menubar/menu/HelpTopMenu.java b/src/main/java/org/jcnc/jnotepad/ui/views/root/top/menubar/menu/HelpTopMenu.java
similarity index 83%
rename from src/main/java/org/jcnc/jnotepad/views/root/top/menubar/menu/HelpTopMenu.java
rename to src/main/java/org/jcnc/jnotepad/ui/views/root/top/menubar/menu/HelpTopMenu.java
index 7626a34100eb88714d720ea15b6e518bc865b10e..035f12907f7e81a2ecdfc544fe00f39683349d1f 100644
--- a/src/main/java/org/jcnc/jnotepad/views/root/top/menubar/menu/HelpTopMenu.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/views/root/top/menubar/menu/HelpTopMenu.java
@@ -1,16 +1,16 @@
-package org.jcnc.jnotepad.views.root.top.menubar.menu;
+package org.jcnc.jnotepad.ui.views.root.top.menubar.menu;
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.component.stage.topmenu.help.DeveloperDebugPaneStage;
-import org.jcnc.jnotepad.component.stage.topmenu.help.HelpPaneStage;
+import org.jcnc.jnotepad.ui.component.stage.topmenu.help.DeveloperDebugPaneStage;
+import org.jcnc.jnotepad.ui.component.stage.topmenu.help.HelpPaneStage;
import java.util.HashMap;
import java.util.Map;
-import static org.jcnc.jnotepad.common.constants.TextConstants.*;
+import static org.jcnc.jnotepad.app.common.constants.TextConstants.*;
/**
* 帮助菜单
diff --git a/src/main/java/org/jcnc/jnotepad/views/root/top/menubar/menu/LanguageTopMenu.java b/src/main/java/org/jcnc/jnotepad/ui/views/root/top/menubar/menu/LanguageTopMenu.java
similarity index 96%
rename from src/main/java/org/jcnc/jnotepad/views/root/top/menubar/menu/LanguageTopMenu.java
rename to src/main/java/org/jcnc/jnotepad/ui/views/root/top/menubar/menu/LanguageTopMenu.java
index 98e0b6025ca3bd580d0af2a04d6003a98931989a..3fa2d47bd32bbf028cec6372a4f1fc825b4d2538 100644
--- a/src/main/java/org/jcnc/jnotepad/views/root/top/menubar/menu/LanguageTopMenu.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/views/root/top/menubar/menu/LanguageTopMenu.java
@@ -1,4 +1,4 @@
-package org.jcnc.jnotepad.views.root.top.menubar.menu;
+package org.jcnc.jnotepad.ui.views.root.top.menubar.menu;
import javafx.event.ActionEvent;
import javafx.scene.control.Menu;
@@ -15,7 +15,7 @@ import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
-import static org.jcnc.jnotepad.common.constants.TextConstants.*;
+import static org.jcnc.jnotepad.app.common.constants.TextConstants.*;
/**
* 语言顶部菜单
diff --git a/src/main/java/org/jcnc/jnotepad/views/root/top/menubar/menu/PluginTopMenu.java b/src/main/java/org/jcnc/jnotepad/ui/views/root/top/menubar/menu/PluginTopMenu.java
similarity index 86%
rename from src/main/java/org/jcnc/jnotepad/views/root/top/menubar/menu/PluginTopMenu.java
rename to src/main/java/org/jcnc/jnotepad/ui/views/root/top/menubar/menu/PluginTopMenu.java
index 10ac5727c81a783935174356c4c0358a18e6fcb0..f3291bcd74b6ae6356d1469c7b0bb07842017ec2 100644
--- a/src/main/java/org/jcnc/jnotepad/views/root/top/menubar/menu/PluginTopMenu.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/views/root/top/menubar/menu/PluginTopMenu.java
@@ -1,14 +1,14 @@
-package org.jcnc.jnotepad.views.root.top.menubar.menu;
+package org.jcnc.jnotepad.ui.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.component.stage.topmenu.plugin.PluginManagementPane;
+import org.jcnc.jnotepad.ui.component.stage.topmenu.plugin.PluginManagementPane;
import java.util.HashMap;
import java.util.Map;
-import static org.jcnc.jnotepad.common.constants.TextConstants.*;
+import static org.jcnc.jnotepad.app.common.constants.TextConstants.*;
/**
* 插件菜单
diff --git a/src/main/java/org/jcnc/jnotepad/views/root/top/menubar/menu/RunTopMenu.java b/src/main/java/org/jcnc/jnotepad/ui/views/root/top/menubar/menu/RunTopMenu.java
similarity index 88%
rename from src/main/java/org/jcnc/jnotepad/views/root/top/menubar/menu/RunTopMenu.java
rename to src/main/java/org/jcnc/jnotepad/ui/views/root/top/menubar/menu/RunTopMenu.java
index 91d891c28c87b6af964c2e8d89767e409b5ef8ca..fc69cf2e048b77363ea026ca290b150de6561aec 100644
--- a/src/main/java/org/jcnc/jnotepad/views/root/top/menubar/menu/RunTopMenu.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/views/root/top/menubar/menu/RunTopMenu.java
@@ -1,22 +1,22 @@
-package org.jcnc.jnotepad.views.root.top.menubar.menu;
+package org.jcnc.jnotepad.ui.views.root.top.menubar.menu;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.control.Menu;
import javafx.scene.control.MenuItem;
import org.jcnc.jnotepad.api.core.views.top.menu.AbstractTopMenu;
-import org.jcnc.jnotepad.component.module.vbox.BuildPanel;
-import org.jcnc.jnotepad.util.LogUtil;
-import org.jcnc.jnotepad.views.manager.BuildPanelManager;
-import org.jcnc.jnotepad.views.manager.CenterTabPaneManager;
-import org.jcnc.jnotepad.views.root.center.main.center.tab.CenterTab;
+import org.jcnc.jnotepad.app.utils.LogUtil;
+import org.jcnc.jnotepad.ui.component.module.vbox.BuildPanel;
+import org.jcnc.jnotepad.ui.views.manager.BuildPanelManager;
+import org.jcnc.jnotepad.ui.views.manager.CenterTabPaneManager;
+import org.jcnc.jnotepad.ui.views.root.center.main.center.tab.CenterTab;
import java.io.*;
import java.util.HashMap;
import java.util.Map;
-import static org.jcnc.jnotepad.common.constants.TextConstants.DE_BUG;
-import static org.jcnc.jnotepad.common.constants.TextConstants.RUN;
+import static org.jcnc.jnotepad.app.common.constants.TextConstants.DE_BUG;
+import static org.jcnc.jnotepad.app.common.constants.TextConstants.RUN;
/**
* 运行菜单
@@ -142,7 +142,7 @@ public class RunTopMenu extends AbstractTopMenu {
// 调试 test
registerMenuItem(topMenuBar.getDeBugItem(), DE_BUG, "deBugItem", event -> {
BUILD_PANEL_MANAGER.controlShow(true);
- BUILD_PANEL_MANAGER.setText(BUILD_PANEL.getBuildBox(), "待开发");
+ BUILD_PANEL_MANAGER.setText(BUILD_PANEL.getDebugBox(), "待开发");
});
diff --git a/src/main/java/org/jcnc/jnotepad/views/root/top/menubar/menu/SettingTopMenu.java b/src/main/java/org/jcnc/jnotepad/ui/views/root/top/menubar/menu/SettingTopMenu.java
similarity index 90%
rename from src/main/java/org/jcnc/jnotepad/views/root/top/menubar/menu/SettingTopMenu.java
rename to src/main/java/org/jcnc/jnotepad/ui/views/root/top/menubar/menu/SettingTopMenu.java
index e4d262d0d2f6f4ead2d99d654fb0b472d497018c..c7d7e5809ef36ce382b26465d75950831af41869 100644
--- a/src/main/java/org/jcnc/jnotepad/views/root/top/menubar/menu/SettingTopMenu.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/views/root/top/menubar/menu/SettingTopMenu.java
@@ -1,18 +1,18 @@
-package org.jcnc.jnotepad.views.root.top.menubar.menu;
+package org.jcnc.jnotepad.ui.views.root.top.menubar.menu;
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.app.utils.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 org.jcnc.jnotepad.ui.views.manager.CenterTabPaneManager;
import java.util.HashMap;
import java.util.Map;
-import static org.jcnc.jnotepad.common.constants.TextConstants.*;
+import static org.jcnc.jnotepad.app.common.constants.TextConstants.*;
/**
* 设置菜单