JTable: переключать значок, когда я дважды щелкаю ячейку - PullRequest
1 голос
/ 08 апреля 2011

У меня есть столбец таблицы, в котором я переопределяю DefaultCellRenderer для отображения значка.

Есть ли способ обнаружения двойных щелчков по ячейке JTable, чтобы я мог переключать состояние соответствующего значения строкитак что он меняет значок между двумя значениями (представляющими «выкл» и «вкл»)?

Ответы [ 2 ]

1 голос
/ 09 апреля 2011

Есть два способа:

1) Более простой способ: присоединить слушатель мыши к таблице, прослушать двойной щелчок, найти строку и столбец по rowAtPoint / columAtPoint, изменить значение и вызвать fireCellChanged () в модели таблицы.

2) Более сложный (но немного лучший) способ: создать собственный редактор ячеек, который при редактировании изменяет значение и вызывает stopCellEditing ().

Вам не нужно делать оба.

Проверьте это, что аналогично, но с кнопкой: http://tips4java.wordpress.com/2009/07/12/table-button-column/

0 голосов
/ 09 апреля 2011

Когда вы выполняете один щелчок, отображаемая ячейка заменяется редактором ячейки, поэтому предоставьте также редактор ячейки с тем же внешним видом, что и отображаемое, добавьте прослушиватель мыши, захватьте двойной щелчок и выполните любое требуемое действие. Когда вы закончите, вызовите stopCellEditing().

...