Мы получили проект с открытым исходным кодом Jmjrst и должны настроить и немного поработать с ним. Теперь у нас никогда не было никаких вещей JMenu, JMenuItem и Listener, так что это довольно запутанно для меня.
Я уже реализовал свой новый MenuTab и работает.
Моя проблема в том, что моя задача говорит следующее:
Каждый плагин должен иметь возможность запускаться и настраиваться.
Конфигурация должна быть реализована только в том случае, если плагин является настраиваемым.
(переведенный текст)
У нас есть метод для проверки, настраивается ли он.
Это мой код прямо сейчас:
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