我无法在任何地方找到答案 - 我相信这很简单,但我很困惑!
我希望在值更改时更改单元格背景的颜色。 我在下面写了一个单元格渲染器:
public class CyanTableCellRenderer extends DefaultTableCellRenderer {
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
Component cell = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
cell.setBackground( Color.CYAN );
return cell;
}
}
我想从侦听器中的事件传递单元格的值 - 以突出显示单元格。
有人可以帮忙吗?
答案 0 :(得分:2)
1)我不明白i have a tableModelListener that works.
与Renderer有什么关系,也许你必须提到
2)您可以preparedRenderer
使用example
答案 1 :(得分:2)
根据@mKorbel的建议,prepareRenderer()
可以对任何选定的渲染器应用更改。或者,您可以根据渲染器的isSelected
参数调整颜色。
if (isSelect) {
this.setBackground(Color.cyan);
}
如果您只想更改所选单元格的默认背景颜色,请在程序的早期更改UIManager
属性Table.selectionBackground
。这将在执行期间影响所有表。
UIManager.put("Table.selectionBackground", Color.cyan);