Сохранение фокуса для KeyboardListener - PullRequest
2 голосов
/ 06 декабря 2011

У меня есть JFrame, который содержит почти все в приложении.К нему прикреплено KeyListener, а также несколько кнопок и текстовое поле.Проблема в том, что при нажатии кнопки или выделении текстового поля он получает фокус и ярлыки не работают.Конечно, из них можно выполнять вкладки, но для этого необходимо выполнить ВСЕ (каждую кнопку, каждое текстовое поле), прежде чем снова фокусировать окно.

Есть ли разумный способ требовать только одну вкладку для возврата фокуса на рамку из текстового поля, и нет вкладок для возврата фокуса на рамку при нажатии кнопки?

WindowListener не кажется лучшим способом сделать это, но если это единственный способ, я полагаю, я могу продвинуться вперед.

Заранее спасибо!

Ответы [ 2 ]

5 голосов
/ 06 декабря 2011

К нему прикреплен KeyboardListener

Я никогда не слышал о классе KeyboardListener, поэтому могу только догадываться, что вы пытаетесь сделать.

Полагаю, вам НЕ следует использовать какой-либо слушатель.

Вместо этого вы должны использовать привязки клавиш .

3 голосов
/ 06 декабря 2011

Если вам нужно только это для текстового поля, вы можете добавить keyListener к текстовому полю, и когда пользователь нажимает на вкладку, используйте yourJFrame.requestFocus (). В противном случае вы можете использовать оконный менеджер или карту ключей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...