swing JTable: настроить «enter», чтобы он действовал так же, как двойной щелчок по строке - PullRequest
3 голосов
/ 01 февраля 2010

У меня спазм мозга - как настроить JTable, чтобы клавиша ввода действовала так же, как двойной щелчок строки?

«Хороший» способ грубой силы - вызвать JTable.getInputMap() и JTable.getActionMap() и добавить новое имя действия и новое Action, которое выполняет двойной щелчок. Но должен быть лучший способ, я думаю ....

1 Ответ

1 голос
/ 07 февраля 2010

Ваш путь "грубой силы" является нормой, альтернативой является KeyListener Питера Ланга. Из обсуждения Sun о связывании клавиш :

Альтернативой привязкам клавиш является использование слушателей клавиш. Слушатели клавиш имеют свое место в качестве низкоуровневого интерфейса для ввода с клавиатуры, но для реагирования на отдельные сочетания клавиш более уместны и, как правило, более легко обслуживаемый код. Слушатели клавиш также трудны, если привязка клавиш должна быть активной, когда компонент не имеет фокуса. Некоторые из преимуществ связывания клавиш заключаются в том, что они в некоторой степени самодокументируются, учитывают иерархию содержимого, поощряют многократно используемые фрагменты кода (объекты Action) и позволяют легко удалять, настраивать или совместно использовать действия. Кроме того, они позволяют легко изменить ключ, к которому привязано действие. Еще одним преимуществом действий является то, что они имеют включенное состояние, которое обеспечивает простой способ отключить действие, не отслеживая, к какому компоненту оно подключено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...