убрать выделение строк клавишами со стрелками в jtable - PullRequest
1 голос
/ 16 октября 2011

Я реализовал JTable в JScrollpane. Я добавил MouseListener в JTable, поэтому он отлично работает с MouseListener.

Теперь моя проблема в том, что выбор строки изменяется с помощью клавиш со стрелками клавиатуры (стрелка вверх / стрелка вниз), и он не вызывает методы, которые я уже реализовал с помощью MouseListener. Поэтому я просто хочу снять выделение JTable стрелками на клавиатуре.

Пожалуйста, помогите мне.

Ответы [ 2 ]

8 голосов
/ 16 октября 2011

Компоненты Swing используют Привязки клавиш для вызова действия при вводе нажатия клавиши KeyStoke.

Прочитав приведенную выше учебную ссылку, вы сможете удалить привязки клавиш, используя такой код:

InputMap im = table.getInputMap(JTable.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
im.put(KeyStroke.getKeyStroke("DOWN", 0), "none");

Я позволю тебе обращаться с клавишей вверх.

2 голосов
/ 16 октября 2011

JTable имеет ListSelectionModel. Вы можете получить его с помощью метода getSelectionModel (). Затем вы можете добавить ListSelectionListener в ListSelectionModel с помощью метода addListSelectionListener (ListSelectionListener).

...