Мы получили проект с открытым исходным кодом Jmjrst и должны настроить и немного поработать с ним. Теперь у нас никогда не было ни одного материала JMenu, JMenuItem и Listener, так что это довольно запутанно для меня.Меню создания JMenu с различным прослушивателем
Я уже получил свой новый 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())
установлен неправильно, потому что каждый мензунд должен быть доступен. Но idk, как управлять тем, что происходит, когда нажата кнопка меню (плагин), и как отделить выполнение и настройку.
Edit: каждый плагин имеет следующие методы: run()
и configure()
но как добавить их в меню и я в состоянии отделить их?
Edit2:
Plugins ==== The Plugins which should be added to the Menu
pluginsMenu ==== the JMenu Object
plugIn ==== the new JMenuButton Object
Ваш код и переменные запутанным. что в плагинах коллекции есть menuItems? или объект plugIn (из цикла foreach)? , .. можете ли вы предоставить фактический фрагмент кода? –
@Sendi_t Я отредактировал мой вопрос. Пожалуйста, скажите мне, разъяснил ли это это или нет. – NhatNienne
Если я правильно понимаю ... у вас есть два действия: 1.) плагин-конфигурация 2.) run-plugin ..... пытаются выяснить способ различать эти два? и когда выполнять какое действие? –