diff --git a/src/main/java/org/jcnc/jnotepad/common/constants/TextConstants.java b/src/main/java/org/jcnc/jnotepad/common/constants/TextConstants.java
index 0c8c514..5f31944 100644
--- a/src/main/java/org/jcnc/jnotepad/common/constants/TextConstants.java
+++ b/src/main/java/org/jcnc/jnotepad/common/constants/TextConstants.java
@@ -16,6 +16,7 @@ public class TextConstants {
public static final String SAVE_AS = "SAVE_AS";
public static final String RENAME = "RENAME";
public static final String SET = "SET";
+ public static final String HELP = "HELP";
public static final String WORD_WRAP = "WORD_WRAP";
public static final String PLUGIN = "PLUGIN";
public static final String MANAGER_PLUGIN = "MANAGER_PLUGIN";
diff --git a/src/main/java/org/jcnc/jnotepad/controller/event/handler/menubar/About.java b/src/main/java/org/jcnc/jnotepad/controller/event/handler/menubar/About.java
new file mode 100644
index 0000000..46fda19
--- /dev/null
+++ b/src/main/java/org/jcnc/jnotepad/controller/event/handler/menubar/About.java
@@ -0,0 +1,30 @@
+package org.jcnc.jnotepad.controller.event.handler.menubar;
+
+import javafx.event.ActionEvent;
+import javafx.event.EventHandler;
+
+/**
+ * 打开关于页面程序。
+ *
+ *
当用户选择关于时,将创建一个新的Stage。
+ *
+ * @author 许轲
+ */
+public class About implements EventHandler {
+ /**
+ * 处理关于页面。
+ *
+ * @param event 事件对象
+ */
+ @Override
+ public void handle(ActionEvent event) {
+ addAboutStage();
+ }
+
+ /**
+ * 关于页面。
+ */
+ public void addAboutStage() {
+
+ }
+}
diff --git a/src/main/java/org/jcnc/jnotepad/views/manager/TopMenuBarManager.java b/src/main/java/org/jcnc/jnotepad/views/manager/TopMenuBarManager.java
index 6b8c845..4be718b 100644
--- a/src/main/java/org/jcnc/jnotepad/views/manager/TopMenuBarManager.java
+++ b/src/main/java/org/jcnc/jnotepad/views/manager/TopMenuBarManager.java
@@ -39,6 +39,8 @@ public class TopMenuBarManager {
private final Map pluginMenuItems = new HashMap<>();
+ private final Map helpMenuItems = new HashMap<>();
+
private final Map languageMenuItems = new HashMap<>();
Logger logger = LogUtil.getLogger(this.getClass());
AppConfigController appConfigController = AppConfigController.getInstance();
@@ -66,8 +68,11 @@ public class TopMenuBarManager {
toggleLanguageCheck(appConfigController.getLanguage());
// 初始化设置菜单
initSettingMenu();
+ // 初始化设置菜单
+ initHelpMenu();
// 初始化插件菜单
initPluginMenu();
+
// 刷新顶部菜单栏
refreshTopMenuBar();
// 初始化快捷键
@@ -300,6 +305,17 @@ public class TopMenuBarManager {
initMenuItems(pluginMenuItems, pluginMenu);
}
+ /**
+ * 初始化插件菜单
+ */
+ private void initHelpMenu() {
+ logger.info("初始化帮助菜单!");
+ var helpMenu = topMenuBar.gethelpMenuMenu();
+ // 插件菜单
+ UiResourceBundle.bindStringProperty(helpMenu.textProperty(), HELP);
+
+ initMenuItems(helpMenuItems, helpMenu);
+ }
/**
* 初始化设置菜单
*/
diff --git a/src/main/java/org/jcnc/jnotepad/views/root/top/menu/TopMenuBar.java b/src/main/java/org/jcnc/jnotepad/views/root/top/menu/TopMenuBar.java
index 550293b..c9674e2 100644
--- a/src/main/java/org/jcnc/jnotepad/views/root/top/menu/TopMenuBar.java
+++ b/src/main/java/org/jcnc/jnotepad/views/root/top/menu/TopMenuBar.java
@@ -32,11 +32,16 @@ public class TopMenuBar extends MenuBar {
*/
private final Menu setMenu = new Menu();
+ /**
+ * 帮助菜单
+ */
+ private final Menu helpMenu = new Menu();
/// 菜单按钮
/**
* 插件菜单
*/
private final Menu pluginMenu = new Menu();
+
/**
* 语言菜单
*/
@@ -45,6 +50,11 @@ public class TopMenuBar extends MenuBar {
* 新建
*/
private final MenuItem newItem = new MenuItem();
+
+ /**
+ * 新建
+ */
+ private final MenuItem aboutItem = new MenuItem();
/**
* 打开
*/
@@ -116,10 +126,21 @@ public class TopMenuBar extends MenuBar {
return setMenu;
}
+ public Menu getHelpMenu() {
+ return helpMenu;
+ }
+
+
+
public Menu getPluginMenu() {
return pluginMenu;
}
+ public Menu gethelpMenuMenu() {
+ return helpMenu;
+ }
+
+
public Menu getLanguageMenu() {
return languageMenu;
}
@@ -132,6 +153,11 @@ public class TopMenuBar extends MenuBar {
return newItem;
}
+
+ public MenuItem getAboutItem() {
+ return aboutItem;
+ }
+
public MenuItem getOpenItem() {
return openItem;
}
diff --git a/src/main/resources/i18n/i18n.properties b/src/main/resources/i18n/i18n.properties
index 0c89879..4759334 100644
--- a/src/main/resources/i18n/i18n.properties
+++ b/src/main/resources/i18n/i18n.properties
@@ -9,6 +9,7 @@ PLUGIN=插件
CHINESE=中文
title=JNotepad
OPEN=打开
+HELP=帮助
OPEN_CONFIGURATION_FILE=打开配置文件
RENAME=重命名
TOP=窗口置顶
diff --git a/src/main/resources/i18n/i18n_en.properties b/src/main/resources/i18n/i18n_en.properties
index e37eab2..94ad5b8 100644
--- a/src/main/resources/i18n/i18n_en.properties
+++ b/src/main/resources/i18n/i18n_en.properties
@@ -9,6 +9,7 @@ PLUGIN=Plugins
CHINESE=Chinese
title=JNotepad
OPEN=Open
+HELP=Help
OPEN_CONFIGURATION_FILE=Open Configuration File
RENAME=Rename
TOP=Window Top
diff --git a/src/main/resources/i18n/i18n_zh_CN.properties b/src/main/resources/i18n/i18n_zh_CN.properties
index 1fbb8bb..9224042 100644
--- a/src/main/resources/i18n/i18n_zh_CN.properties
+++ b/src/main/resources/i18n/i18n_zh_CN.properties
@@ -9,6 +9,7 @@ PLUGIN=插件
CHINESE=中文
title=JNotepad
OPEN=打开
+HELP=帮助
OPEN_CONFIGURATION_FILE=打开配置文件
RENAME=重命名
TOP=窗口置顶