JTable 从 DataModel 更改单元格背景颜色

JTable Change Cell Background Color from DataModel

这听起来可能很奇怪,但解释我的问题的最佳方式就像标题中所述。

我有一个 JTable,它使用自定义 Tablemodel,在这个 Tablemodel 中我有不同的方法。

我需要一种方法,当我在 Tablemodel 中调用特定方法时,转到添加它的 table,并更改位置 (X,Y) 处单元格的背景颜色。

我可以从我的 Tablemodel 访问 JTable Object。


为了澄清问题,有一个使用特定表模型的 JTable,我需要在该单元格的值更改时突出显示该单元格。

值的改变是通过调用一个方法来完成的,这个方法给我在数据模型上的位置。

setData(Object 值,整数行,整数列)

我通过一个小技巧做到了, 我超载了

public Component prepareRenderer(TableCellRenderer renderer, int row, int column) {
    Component comp = super.prepareRenderer(renderer, row, column);      
    if(((CTableModel)this.getModel()).getRowByNumber(row).isUpdated(column)){
        comp.setBackground(blinkColor);
        }
   return comp;
}

在我的 table 模型中,我保留了一个行对象列表,在每个对象中,我创建了一个方法来确认该列是否已更新。

所以我现在问渲染器 运行 并完成了。