Вы должны использовать компонент окна, чтобы показать свое приложение на экране. Предположим, что это JFrame
(или это может быть JDialog
). Создайте JComponent
, который будет «прослушивать» ключевые действия, добавьте его к вашему jFrame
или любому другому компоненту верхнего окна, который вы используете:
JComponent controlComp = new JComponent() {};
controlComp.setBounds(0, 0, 800, 600); // your bounds
controlComp.setFocusTraversalKeysEnabled(false);
jFrame.add(controlComp);
ActionListener keyEscListener = new ActionListener() {
public void actionPerformed(ActionEvent actionEvent) {
paused = !paused;
// your logic for Escape
}
};
// tie KeyStroke and keyboard action to the controlComp
KeyStroke keyEsc = KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0, false);
controlComp.registerKeyboardAction(keyEscListener, keyEsc, JComponent.WHEN_FOCUSED);
Этот метод требует создания отдельного объекта Listener и KeyStroke для каждый ключ, который вы хотите слушать