Удалить рендерер из JTable - PullRequest
1 голос
/ 21 ноября 2011

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

Возможно ли это, или я могу принять другое решение?

Ответы [ 4 ]

3 голосов
/ 21 ноября 2011

Перед настройкой пользовательского рендерера получите рендерер по умолчанию из JTable.Сохраните его в справочнике для дальнейшего использования.Теперь установите для вашего пользовательского средства визуализации значение JTable.

Перед отключением таблицы установите значение по умолчанию, а при включении установите пользовательское значение.

Надеюсь, это должно работать для вас.

2 голосов
/ 21 ноября 2011

использовать JXTable (из проекта SwingX ) - его средства визуализации автоматически учитывают включение таблицы

Редактировать

при повторном чтении:

У меня есть JTable с Renderer, написанный мной. Когда я установил JTable отключен, я хочу, чтобы он был окрашен в серый, и с текущим Рендер, который не возможен

почему это невозможно? В вашем пользовательском рендерере просто запросите включение таблицы и настройте ее состояние соответственно

 public Component getTableCellRendererComponent(...) {
     ...
     myRenderingComponent.setEnabled(table.isEnabled());
     return myRenderingComponent;
} 
2 голосов
/ 21 ноября 2011

Вы можете установить новый DefaultTableRenderer ().Это должно быть возможно и в вашем рендерере.В качестве альтернативы вы можете расширить DefaultTableRenderer.

1 голос
/ 20 июля 2012

Вы можете проверить, включена ли таблица при возврате компонента визуализации. Затем вы можете установить переменную состояния в рендере, которая будет отображать ячейку иначе, когда она отключена, чем когда она включена. Этот подход также позволяет учитывать другие состояния - у меня есть средство визуализации, которое допускает различные «профили» в зависимости от значений в конкретном столбце.

...