Я нахожусь в ситуации, когда у меня есть класс ActionFactory, который создает ActionListener s для использования в пунктах меню и кнопках. Теперь я хочу связать некоторые из этих действий с клавишами.
KeyStroke controlS = KeyStroke.getKeyStroke
(KeyEvent.VK_S,modifierKey,false);
panel.getInputMap
(JComponent.WHEN_IN_FOCUSED_WINDOW).put(controlS, "CTRL_S");
panel.getActionMap().put
("CTRL_S", ActionFactory.getAction1());
Но карта действий ожидает AbstractAction, теперь есть способ использовать ActionListener в этой ситуации, я бы не хотел создавать дублирующие функции, которые вместо этого возвращали бы AbstractAction.