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 c3238b1..6ba75f4 100644
--- a/src/main/java/org/jcnc/jnotepad/app/manager/ApplicationManager.java
+++ b/src/main/java/org/jcnc/jnotepad/app/manager/ApplicationManager.java
@@ -37,10 +37,16 @@ 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;
-
/**
- * 应用程序管理类
- * 此类负责管理应用程序的生命周期等操作
+ * 应用程序管理类
+ *
+ *
+ * 此类负责管理应用程序的生命周期和操作。它包括初始化应用程序、执行默认操作、加载缓存、加载资源、迁移程序根文件夹、停止前操作等功能。 + *
+ * + *+ * 该类是一个单例类,通过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(); }