Java JTable - выделяет определенную запись при изменении внешней переменной - PullRequest
1 голос
/ 27 декабря 2010

У меня есть JTable такой, что:

ID #:          Name:
 0             Entry 0
 1             Entry 1
 2             Entry 2

Когда переменная:

private int HighlightEntryID = 2;

установлена ​​на ID #, JTable затем сможет выделить соответствующую запись,

Я создал пользовательский модуль визуализации ячеек со следующим кодом:

TableColumn column = CISTable.getColumnModel().getColumn(0);
column.setCellRenderer(new CustomCellRenderer());

Я отображаю ячейки на основе столбца ID #.Мои вопросы:

  • Он только выделяет конкретную (строку, столбец) запись.Я хочу выделить весь ряд.Как выделить другие столбцы в той же строке?
  • Когда переменная: HighlightEntryID изменена, JTable не отражает это изменение автоматически.Я должен обновить таблицу вручную.Как мне обновить его автоматически?

Ответы [ 2 ]

2 голосов
/ 27 декабря 2010

Подсвечивает только конкретную запись (строку, столбец).Я хочу выделить весь ряд.Как выделить другие столбцы в той же строке?

Я хотел бы использовать для этого Отображение строк таблицы .

Когда переменная: HighlightEntryIDизменено, JTable автоматически не отражает изменение.Я должен обновить таблицу вручную.Как мне обновить его автоматически?

Вызовите следующее для принудительного перекрашивания всей таблицы:

table.repaint();
0 голосов
/ 27 декабря 2010

Вы можете использовать setDefaultCellRenderer (Object.class, новый CustomCellRenderer ()) метод JTable. А также вы должны поместить переменную highlightEntryID в ваш класс таблицы.

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