У меня есть несколько разных текстовых полей ввода, в которые вы можете ввести команду, нажмите клавишу ввода, а затем вытащите некоторую информацию. У меня есть несколько разных текстовых полей, которые (применительно к различным частям информации). Когда я нажимаю кнопку ввода, он также перемещает фокус на следующее поле ввода. Как это остановить? Я не могу просто использовать метод потреблять() в KeyEvent классе, так что бы полностью блокировать клавишу ввода, который не то, что я хочуJava - создание текстового поля не теряет фокус
ответ
На самом деле, я только что узнал, как исправить эту проблему. Я использовал метод, принадлежащий контейнеру, называемый requestFocus() (см. http://www.javaworld.com/javaworld/jw-07-1998/jw-07-swing-focus.html). В каждом элементе я добавил эту строку в конец действия keyEvent, и она отлично работала!
См. Также [* Как написать прослушиватель клавиш *] (http://docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html), что делает подобное предложение. – trashgod
InputVerifier
, описанный в Validating Input, предназначен именно для этой цели:
Верификатор ввода компонента запрашивается всякий раз, когда компонент собирается потерять фокус. Если значение компоненты не является приемлемым, вход верификатор может принять соответствующие меры, такие, как отказ дать фокус на компоненте ...
Дополнения: Как указывается в статье Text Validation, InputVerifier
должна быть составной частью проверки , разработанный так, чтобы пользователь сразу понял, почему что-то не так.
Очень хороший ответ, как всегда;). Теперь давайте подождем камикр хехехе. –
* «Теперь давайте подождем camickr ..» * [Последний раз видели] (http://stackoverflow.com/users/131872/camickr) 21 февраля. –
@ Аndrew, camickr и trashgod имеют тенденцию появляться вместе на сообщениях, которые я написал/прокомментировал, Это была шутка. Но позвольте мне остановить загрязнение stackoverflow hehehe. –
- 1. Допустимо ли нормализовать содержимое текстового поля, когда он теряет фокус?
- 2. Удаление ведущих нулей из текстового поля, когда он теряет фокус.
- 3. вызов метода, когда текст изменен без текстового поля теряет фокус
- 4. editText не теряет фокус
- 5. Кнопка не теряет фокус
- 6. MFC) Создание TreeCtrl теряет фокус объекта
- 7. Фон Цвет текстового поля: фокус
- 8. JQuery текстового поля фокус из не стреляя
- 9. Событие изменения текстового поля jQuery не срабатывает, пока текстовое поле не теряет фокус?
- 10. Текст текстового поля исчезает, когда прозрачность включена и управление теряет фокус.
- 11. OnTextChanged теряет фокус, когда AutoPostBack истинна
- 12. Приложение NSTask теряет фокус
- 13. bootstrap-wysiwyg теряет фокус
- 14. Создание пустого текстового поля
- 15. EditText теряет фокус onTextChange
- 16. Динамическое создание текстового поля
- 17. AutoPostback с TextBox теряет фокус
- 18. Container Control теряет фокус
- 19. UISearchBar теряет фокус
- 20. Ubuntu теряет фокус текстового редактора время от времени
- 21. Как передать фокус текстового поля в Silverlight?
- 22. Как удалить фокус из текстового поля?
- 23. Фокус ввода текстового поля на событие размытия
- 24. Удалить фокус из текстового поля - Sencha
- 25. Как удалить фокус ввода из текстового поля?
- 26. Установите фокус текстового поля в мобильном сафари
- 27. Фокус текстового поля с помощью CSS
- 28. JOptionPane.ShowConfirmDialog несколько входов, фокус текстового поля
- 29. Установите фокус текстового поля после нажатия кнопки
- 30. Java Swing: JTextField не теряет фокус, как ожидалось
Почему вы не используете 'keyevent.consume()' on 'keyvent.getKeyCode() == KeyEvent.VK_ENTER', а также вызываете метод, который извлекает информацию из вашего' KeyListener'? Или клавиша «Enter» делает что-то более интересное, чем вытягивание и отображение информации? –
Вы попробовали [requestFocusInWindow (...)] (http://docs.oracle.com/javase/7/docs/api/javax/swing/JComponent.html#requestFocusInWindow())? –
http://stackoverflow.com/questions/1068853/stopping-default-behavior-of-events-in-swing - интересное чтение. Ответ, одобренный akf, реализует мое предложение, решение привязки ключа camickr также очень хорошо. –