Как запретить переход к следующему элементу по нажатию Tab?

Рейтинг: 1Ответов: 1Опубликовано: 25.01.2011

Это учебное задание: нужно написать компоненту "Текстовая область". Я использовал класс Component и переопределил там метод paint(Graphics g), где вывожу построчно данные на Graphics. А также обрабатываю события в KeyListener, чтобы можно было редактировать текст.

Нужно чтобы эта компонента поддерживала табуляцию. Но когда я нажимаю кнопку Tab, то фокус переходит к следующему элементу. Каким образом можно перекрыть это действие и делать вместо него табуляцию?

Ответы

▲ 2Принят

Я предполагаю, что речь идёт об AWT?

Вам сюда. Конкретно Вас интересуют focusTraversalKeys.

Простейшее решение — Component.setFocusTraversalKeysEnable. Хотя Sun (теперь уже, видимо, Oracle ;)) рекомендует для текстовых областей не отключать это сочетание клавиш, а заменять на Ctrl+Tab.