diff --git a/src/main/java/org/jcnc/jnotepad/JnotepadApp.java b/src/main/java/org/jcnc/jnotepad/JnotepadApp.java
index 170e258f78865585c818375637ca049a6384154d..88f5cc7af241613ab3c45cfb99b962b8f344fd86 100644
--- a/src/main/java/org/jcnc/jnotepad/JnotepadApp.java
+++ b/src/main/java/org/jcnc/jnotepad/JnotepadApp.java
@@ -26,12 +26,16 @@ public class JnotepadApp extends Application {
}
@Override
- public void start(Stage primaryStage) {
+ public void init() {
// 获取当前启动位置a
String currentWorkingDirectory = System.getProperty("user.dir");
LogUtil.getLogger(this.getClass()).info("当前启动位置:{}", currentWorkingDirectory);
// 设置参数
APPLICATION_MANAGER.setApplication(this);
+ }
+
+ @Override
+ public void start(Stage primaryStage) {
APPLICATION_MANAGER.setPrimaryStage(primaryStage);
// 加载应用程序资源
APPLICATION_MANAGER.loadAppResources();
diff --git a/src/main/java/org/jcnc/jnotepad/api/core/views/menu/AbstractBaseMenu.java b/src/main/java/org/jcnc/jnotepad/api/core/views/menu/AbstractBaseMenu.java
new file mode 100644
index 0000000000000000000000000000000000000000..39debbf895173ac32b4786b67ad54cb157c01a0d
--- /dev/null
+++ b/src/main/java/org/jcnc/jnotepad/api/core/views/menu/AbstractBaseMenu.java
@@ -0,0 +1,65 @@
+package org.jcnc.jnotepad.api.core.views.menu;
+
+import javafx.scene.control.Menu;
+import javafx.scene.control.MenuItem;
+import org.jcnc.jnotepad.app.i18n.UiResourceBundle;
+import org.jcnc.jnotepad.controller.config.UserConfigController;
+import org.jcnc.jnotepad.ui.views.root.top.menubar.TopMenuBar;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 抽象基础菜单类
+ *
+ *
+ * 此抽象类用于创建基础菜单,包括菜单项的注册和初始化。
+ *
+ *
+ * @author gewuyou
+ */
+public abstract class AbstractBaseMenu extends AbstractMenu