Я построил класс GameFrame, который имеет JFrame с jmenubar
и добавит несколько элементов в меню. Я разделяю класс actionlistener (реализую свой собственный и передаю его как аргумент в рамки jmenubar) из причин GameFrame для ООП.Диалог по выбору jmenuitem
Проблема заключается в том, что, когда выбран один из JmenuItems
, он должен обсудить диалог с просьбой ввести URL-адрес. Но этот диалог создается только при выборе элемента меню так, как я могу сделать : делать следующее? (Что не очень ООП)
@Override
public void actionPerformed(ActionEvent e) {
JMenuItem item = (JMenuItem) e.getSource();
if (item.getText().equals("URL")) {
//create a dialogue
//get the input
//pass it to something else
}
}
Я хочу, чтобы избежать создания свинг компонентов внутри моего класса EventHandler и избежать eventhandlers в моем классе компонентов, но я не вижу, как вокруг него.
Не понимаю, почему он не должен быть очень ООП. Не могли бы вы рассказать об этом? Во всяком случае, почему бы вам не создать свой JDialog где вы инициализируете остальные компоненты и просто делаете его видимым в actionPerformed и невидимом, как только вы получите URL-адрес? –