Действия в Swing ContainerS (JFrameS и т. Д.) - PullRequest
0 голосов
/ 30 ноября 2010

Кажется, что, хотя вы можете добавить ActionS в ComponentS, вы не можете добавить их в ContainerS, такие как JFrame, JApplet или JDialog. Поскольку я не смог найти ничего полезного в Google, я решил поделиться своими результатами, чтобы люди в будущем не тратили слишком много времени. Пожалуйста, не стесняйтесь добавлять информацию, если вы думаете, что я что-то пропустил или что-то выпустил.

Решение заключается в .getRootPane (), который затем позволит вам добавлять действия, например:

jframe.getRootPane (). GetInputMap (JComponent.WHEN_FOCUSED). (KeyStroke.getKeyStroke ("INSERT"), insertAction);

Надеюсь, это будет полезно для будущих поколений.

1 Ответ

0 голосов
/ 30 ноября 2010

Конечно, вы можете добавить привязки клавиш к JPanel.Это компонент Swing.

Я не уверен, что InputMap «WHEN_FOCUSED» будет работать.Обычно основное внимание уделяется компоненту, а не корневой панели.

Проверьте Привязки клавиш , чтобы получить список привязок по умолчанию и мой простой пример использования привязок клавиш.

...