2015-10-21 4 views
0

Я создаю простую форму для класса, и я хочу, чтобы пользователь мог нажать введите после заполнения одного JTextField. Он переходит к следующему доступному JTextField(не все из них доступны для редактирования в заданное время), аналогично использованию tab.Нажмите, чтобы перейти к следующему текстовому полю, например, клавише табуляции?

Когда он доберется до последнего редактируемого JTextField, он должен отправить форму. Возможно ли это или есть вкладка и обычный введите функция (как только мой вариант)?

Я отправлю код, если необходимо, но если вы можете ответить на вопрос без него, это тоже будет здорово.

+0

Да его возможности, существует несколько способов, даже для ее достижения. – Durandal

+1

Зачем вы так хотите? Для пользователей было бы неожиданным, так как стандарт должен использовать Enter для отправки формы и Tab для перехода к следующему полю. –

ответ

1

Как упоминалось в Дюрандале, есть несколько способов сделать это.

Вы можете использовать метод addActionListener JTextField в, addAction метод, метод addKeyListener, и т.д ... Все они довольно похожи - вы говорите, текстовое поле, чтобы сделать что-то, когда что-то происходит. (Хотя точно, как вы это делаете, отличается по методу)

Независимо, каждый раз, когда действие должно будет знать, какое текстовое поле находится в очереди. Затем вы можете позвонить JTextField#requestFocus(), чтобы передать фокус на него.

Вы также можете сделать это с setFocusTraversalKeys и setNextFocusableComponent

Смежные вопросы