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 754f0ef44b5c7ea75cd72f8ae03857900fa77172..b6ae53a008f0102d7bde228b42699c3d9e11049b 100644 --- a/src/main/java/org/jcnc/jnotepad/common/constants/TextConstants.java +++ b/src/main/java/org/jcnc/jnotepad/common/constants/TextConstants.java @@ -11,6 +11,9 @@ public class TextConstants { public static final String TITLE = "title"; public static final String SAVE = "SAVE"; public static final String FILE = "FILE"; + + public static final String RUN = "RUN"; + public static final String DE_BUG = "DE_BUG"; public static final String NEW = "NEW"; public static final String OPEN = "OPEN"; public static final String OPEN_DIRECTORY = "OPEN_DIRECTORY"; 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 ffe169cbd98e1ca5f6d0fda39cf8e784c401c1b3..03edb9f04729a69ffe91a94e145cd885725f4fbc 100644 --- a/src/main/java/org/jcnc/jnotepad/views/manager/TopMenuBarManager.java +++ b/src/main/java/org/jcnc/jnotepad/views/manager/TopMenuBarManager.java @@ -32,9 +32,12 @@ public class TopMenuBarManager extends AbstractManager { LanguageTopMenu languageTopMenu = LanguageTopMenu.getInstance(); SettingTopMenu settingTopMenu = SettingTopMenu.getInstance(); - HelpTopMenu helpTopMenu = HelpTopMenu.getInstance(); + RunTopMenu runTopMenu=RunTopMenu.getInstance(); PluginTopMenu pluginTopMenu = PluginTopMenu.getInstance(); + + HelpTopMenu helpTopMenu = HelpTopMenu.getInstance(); + private TopMenuBarManager() { } @@ -61,6 +64,8 @@ public class TopMenuBarManager extends AbstractManager { // 初始化插件菜单 pluginTopMenu.initMenu(); + runTopMenu.initMenu(); + // 刷新顶部菜单栏 refreshTopMenuBar(); // 初始化快捷键 @@ -73,12 +78,18 @@ public class TopMenuBarManager extends AbstractManager { public void registerTopMenuBar() { // 文件菜单 registerNode(fileTopMenu.getMenu()); + // 设置菜单 registerNode(topMenuBar.getSetMenu()); - // 帮助菜单 - registerNode(helpTopMenu.getMenu()); + // 插件菜单 registerNode(topMenuBar.getPluginMenu()); + + // 运行菜单 + registerNode(runTopMenu.getMenu()); + + // 帮助菜单 + registerNode(helpTopMenu.getMenu()); } diff --git a/src/main/java/org/jcnc/jnotepad/views/root/top/menubar/TopMenuBar.java b/src/main/java/org/jcnc/jnotepad/views/root/top/menubar/TopMenuBar.java index d3b17239770946f2f7b15befb2973ea203599339..d7280cef154d4f3508bb10a47e01bce8c47ce74c 100644 --- a/src/main/java/org/jcnc/jnotepad/views/root/top/menubar/TopMenuBar.java +++ b/src/main/java/org/jcnc/jnotepad/views/root/top/menubar/TopMenuBar.java @@ -32,10 +32,7 @@ public class TopMenuBar extends MenuBar { */ private final Menu setMenu = new Menu(); - /** - * 帮助菜单 - */ - private final Menu helpMenu = new Menu(); + /// 菜单按钮 /** * 插件菜单 @@ -43,18 +40,27 @@ public class TopMenuBar extends MenuBar { private final Menu pluginMenu = new Menu(); /** - * 语言菜单 + * 运行菜单 */ - private final Menu languageMenu = new Menu(); + private final Menu runMenu = new Menu(); + /** + * 调试菜单 + */ + private final MenuItem deBugItem = new MenuItem(); /** * 新建 */ private final MenuItem newItem = new MenuItem(); - + /** + * 语言菜单 + */ + private final Menu languageMenu = new Menu(); /** * 新建 */ - private final MenuItem aboutItem = new MenuItem(); + private final MenuItem runItem = new MenuItem(); + + /** * 打开 */ @@ -106,6 +112,15 @@ public class TopMenuBar extends MenuBar { */ private final MenuItem pluginManagerItem = new MenuItem(); + /** + * 帮助菜单 + */ + private final Menu helpMenu = new Menu(); + + /** + * 关于 + */ + private final MenuItem aboutItem = new MenuItem(); private TopMenuBar() { } @@ -139,6 +154,10 @@ public class TopMenuBar extends MenuBar { public Menu getPluginMenu() { return pluginMenu; } + public Menu getRunMenu() { + return runMenu; + } + public Menu getLanguageMenu() { @@ -152,6 +171,13 @@ public class TopMenuBar extends MenuBar { public MenuItem getNewItem() { return newItem; } + public MenuItem getRunItem() { + return runItem; + } + + public MenuItem getDeBugItem() { + return deBugItem; + } public MenuItem getAboutItem() { diff --git a/src/main/java/org/jcnc/jnotepad/views/root/top/menubar/menu/RunTopMenu.java b/src/main/java/org/jcnc/jnotepad/views/root/top/menubar/menu/RunTopMenu.java new file mode 100644 index 0000000000000000000000000000000000000000..f12f366164003dfe896392e1884e4aaf971e213e --- /dev/null +++ b/src/main/java/org/jcnc/jnotepad/views/root/top/menubar/menu/RunTopMenu.java @@ -0,0 +1,70 @@ +package org.jcnc.jnotepad.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 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; + +/** + * 文件菜单 + * + * @author gewuyou + */ +public class RunTopMenu extends AbstractTopMenu { + private static final RunTopMenu INSTANCE = new RunTopMenu(); + private final Map runMenuItems = new HashMap<>(); + + public static RunTopMenu getInstance() { + return INSTANCE; + } + + /** + * 获取菜单名称 + * + * @return 菜单名称 + */ + @Override + public String getMenuName() { + return RUN; + } + + /** + * 获取菜单 + * + * @return 菜单 + */ + @Override + public Menu getMenu() { + return topMenuBar.getRunMenu(); + } + + /** + * 获取菜单项集合 + * + * @return 菜单项集合 + */ + @Override + public Map getMenuItems() { + return runMenuItems; + } + + + /** + * 注册顶部菜单 + */ + @Override + protected void registerTopMenu() { + // 运行 + registerMenuItem(topMenuBar.getRunItem(), RUN, "runItem", null); + + // 调试 + registerMenuItem(topMenuBar.getDeBugItem(), DE_BUG, "deBugItem", null); + + + } +} diff --git a/src/main/resources/i18n/i18n.properties b/src/main/resources/i18n/i18n.properties index 05d151573938ab7db9f92f17331cb1fb23f19123..6cd910c716c4d55d94a7f128b1bd802be0a91a13 100644 --- a/src/main/resources/i18n/i18n.properties +++ b/src/main/resources/i18n/i18n.properties @@ -9,8 +9,10 @@ PLUGIN=插件 CHINESE=中文 title=JNotepad OPEN=打开 +DE_BUG=调试 OPEN_DIRECTORY=打开文件夹 ABOUT=关于 +RUN=运行 HELP=帮助 OPEN_CONFIGURATION_FILE=打开配置文件 RENAME=重命名 diff --git a/src/main/resources/i18n/i18n_en.properties b/src/main/resources/i18n/i18n_en.properties index 2da0e7aac2c9312377981778a9ae229cb73e85b1..524adb0faef6935e6aaa69b5cc5b7b341489a400 100644 --- a/src/main/resources/i18n/i18n_en.properties +++ b/src/main/resources/i18n/i18n_en.properties @@ -12,6 +12,8 @@ title=JNotepad OPEN=Open OPEN_DIRECTORY=Open Directory HELP=Help +RUN=Run +DE_BUG=Debug 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 18f234ab5db9670842682c6ec0652935afc6d7c0..61ebca07641fab4b40fd3dc8bc1cd71b6745c09b 100644 --- a/src/main/resources/i18n/i18n_zh_CN.properties +++ b/src/main/resources/i18n/i18n_zh_CN.properties @@ -11,6 +11,8 @@ title=JNotepad OPEN=打开 OPEN_DIRECTORY=打开文件夹 HELP=帮助 +RUN=运行 +DE_BUG=调试 ABOUT=关于 OPEN_CONFIGURATION_FILE=打开配置文件 RENAME=重命名