Java - Как добавить KeyListener в пользовательский интерфейс - PullRequest
0 голосов
/ 30 января 2012

Я хочу добавить KeyListener ко всему пользовательскому интерфейсу, используя:

frame.addKeyListener(this);

В this у меня есть рабочий KeyListener, так что все хорошо.

Но когда я запускаю свою программу, KeyListener работает неправильно.

Это потому, что мой пользовательский интерфейс состоит только из одного JTextArea, одного JTextField и одногоJLabel?У меня такое чувство, что мне нужно иметь некоторый «фон» отображения интерфейса, чтобы это работало.

Пожалуйста, помогите мне в моей ситуации.Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 30 января 2012

Мы используем, например, JFrame.getRootPane().registerKeyboardAction(java.awt.event.ActionListener, javax.swing.KeyStroke.getKeyStroke("F12"); для прослушивания нажатий клавиш из «всего пользовательского интерфейса».

0 голосов
/ 30 января 2012

Вы должны применить Key Listener к JTextArea или JTextField, NOT к Frame.

Метод keyTyped () будет вызван, когда вы введете какой-либо текст в JTextArea или JTextField.

...