как зарегистрировать KeyStroke на JXDatePicker - PullRequest
4 голосов
/ 04 мая 2009

Мне нужно перенести фокус на другой элемент, когда пользователь нажимает клавишу Enter, поэтому мне удалось зарегистрировать KeyStroke для большинства элементов следующим образом:

 this.getInputMap( ).put( KeyStroke.getKeyStroke( '\n' ), "transferFokus" );

  this.getActionMap( ).put( "transferFokus", transferFokusa );

все работает отлично, за исключением моего класса, который расширяет JXDatePicker, который, я полагаю, потребляет клавишу Enter внутри. Что я могу сделать?

Весь смысл в том, чтобы облегчить людям использование графического интерфейса, поскольку они работали над старым приложением DOS, в котором они перемещались внутри формы с помощью Enter вместо клавиши TAB.

1 Ответ

3 голосов
/ 04 мая 2009

Из javadoc похоже, что JXDatePicker использует JFormattedTextField для фактического компонента редактирования строки даты. JXDatePicker.getEditor () возвращает текстовое поле, поэтому, возможно, вам следует попробовать вызвать getInputMap () и getActionMap () для текстового поля?

...