JMenu 使用不同的 Listener 生成菜单
JMenu generating Menu with different Listener
我们得到了 Jmjrst 开源项目,应该对其进行配置和使用。
现在我们从来没有任何 JMenu、JMenuItem 和 Listener 东西,所以这让我很困惑。
我已经实现了我的新 MenuTab 并且正在运行。
我的问题是我的任务如下:
Every plugin should be able to be started and configured.
The configuration should only be implemented if the plugin is configurable.
(翻译文本)
我们得到了一种检查它是否可配置的方法。
这是我现在的代码:
int length = pluginList.size();
int i = 1;
for (Plugins plugIn: pluginList) {
pluginMenuItem = new JMenuItem(plug.getMenuText());
if (plugIn.isConfigurable()) {
pluginMenuItem.addActionListener(new MenuListner(m, this));
}
if (i < length) {
pluginsMenu.addSeparator();
}
pluginsMenu.add(plugin);
i++;
}
newList 只是一个包含所有可用插件的列表。我想我的
if (plug.isConfigurable())
设置不正确,因为每个菜单点都需要能够被点击。但是我不知道如何管理单击菜单点(插件)时发生的事情以及如何分离 运行 和配置。
编辑:每个插件都有以下方法:run()
和 configure()
但是如何将它们添加到菜单中并能够将它们分开?
编辑2:
Plugins ==== The Plugins which should be added to the Menu
pluginsMenu ==== the JMenu Object
plugIn ==== the new JMenuButton Object
这将取决于您的用户界面设计,您可以在每个插件下有 subMenuItems——一个用于 "config",另一个用于 "execute/Run",
你可以有一个 menuItem 你现在有,然后听众可以弹出对话框让用户 select config/execute -- 这不是最好的选择,因为用户将不得不处理每次点击插件时都会出现对话框
我能想到的另一种方法是为 "configuration" 设置一个顶级菜单项,这样用户就可以清楚地看到他们是否要配置或更改他们必须转到 "config" 菜单
子菜单项本身就是一个菜单项
//a submenu
pluginsMenu.addSeparator();
submenu = new JMenu("Plugin Name");
//add one submenuItem
menuItem = new JMenuItem("Config");
submenu.add(menuItem);
//add another submenuItem
menuItem = new JMenuItem("Run/Execute");
submenu.add(menuItem);
//add submenu to mainPluginMenu
pluginsMenu.add(submenu);
在此处查看实际代码menu
我们得到了 Jmjrst 开源项目,应该对其进行配置和使用。 现在我们从来没有任何 JMenu、JMenuItem 和 Listener 东西,所以这让我很困惑。
我已经实现了我的新 MenuTab 并且正在运行。
我的问题是我的任务如下:
Every plugin should be able to be started and configured.
The configuration should only be implemented if the plugin is configurable.
(翻译文本)
我们得到了一种检查它是否可配置的方法。
这是我现在的代码:
int length = pluginList.size();
int i = 1;
for (Plugins plugIn: pluginList) {
pluginMenuItem = new JMenuItem(plug.getMenuText());
if (plugIn.isConfigurable()) {
pluginMenuItem.addActionListener(new MenuListner(m, this));
}
if (i < length) {
pluginsMenu.addSeparator();
}
pluginsMenu.add(plugin);
i++;
}
newList 只是一个包含所有可用插件的列表。我想我的
if (plug.isConfigurable())
设置不正确,因为每个菜单点都需要能够被点击。但是我不知道如何管理单击菜单点(插件)时发生的事情以及如何分离 运行 和配置。
编辑:每个插件都有以下方法:run()
和 configure()
但是如何将它们添加到菜单中并能够将它们分开?
编辑2:
Plugins ==== The Plugins which should be added to the Menu
pluginsMenu ==== the JMenu Object
plugIn ==== the new JMenuButton Object
这将取决于您的用户界面设计,您可以在每个插件下有 subMenuItems——一个用于 "config",另一个用于 "execute/Run",
你可以有一个 menuItem 你现在有,然后听众可以弹出对话框让用户 select config/execute -- 这不是最好的选择,因为用户将不得不处理每次点击插件时都会出现对话框
我能想到的另一种方法是为 "configuration" 设置一个顶级菜单项,这样用户就可以清楚地看到他们是否要配置或更改他们必须转到 "config" 菜单
子菜单项本身就是一个菜单项
//a submenu
pluginsMenu.addSeparator();
submenu = new JMenu("Plugin Name");
//add one submenuItem
menuItem = new JMenuItem("Config");
submenu.add(menuItem);
//add another submenuItem
menuItem = new JMenuItem("Run/Execute");
submenu.add(menuItem);
//add submenu to mainPluginMenu
pluginsMenu.add(submenu);
在此处查看实际代码menu