У меня есть приложение на Java, которое я назову Приложение . Приложение иногда отображает JFrame, который мы назовем myFrame . Приложение также отобразит JTextArea, содержащуюся либо в JDialog, либо в JFrame (я не уверен, какой именно, но я могу узнать, необходимо ли это для ответа на этот вопрос). Давайте назовем это JTextArea "myTextArea".
Теперь происходит следующая последовательность событий:
- Отображаем myFrame. Он имеет фокус, и вы можете дать ему вход.
- Мы вызываем myFrame.setVisible (false)
- Отображаем myTextArea.
- Мы вызываем myTextArea.requestFocus ().
- myTextArea имеет фокус (курсор в нем мигает), но все вводимые нажатия клавиш отправляются в myFrame!
Обратите внимание, что myTextArea не содержится в myFrame.
Что здесь происходит? Кто-нибудь слышал о невидимой JFrame, получающей нажатия клавиш? Не только получать нажатия клавиш, но и воровать их у какого-то другого компонента, который имеет фокус?