AbstractAction как WindowListener
Я пытаюсь отделить функцию от состояния в моем приложении GUI с помощью объектов Action. Мне удалось использовать их для создания элементов меню и кнопок с одинаковой функциональностью.
моя проблема заключается в следующем: Я хочу иметь одно и то же действие для пункта "выход" в моем меню и кнопки закрытия кадра.
В настоящее время я смог решить его, добавив следующий WindowListener в кадр:
private class MainWindowListener extends WindowAdapter {
@Override
public void windowClosing(WindowEvent e) {
new ExitAction(model).actionPerformed(new ActionEvent(e.getSource(), e.getID(), "Exit"));
}
}
разве нет проще более простой способ сделать это?
1 ответов
пересылка событий удобна, но вы также можете использовать dispatchEvent()
, как показано здесь.
добавление: больше примеров, которые используют Action
показаны ниже.
-
LinePanel
, которая соединяет кнопки и клавиши. -
ScrollAction
который использует существующие действия качания. -
KeyPadPanel
что иллюстрирует действия пересылки. -
GraphPanel
который показывает действия редактора графиков в панели инструментов.