如何动态更改jtable单元格背景

时间:2013-01-15 16:37:47

标签: java swing jtable renderer

我有一个5行5列的JTable table1,我想 当我调用类似

的函数时,更改第2行的第3列/单元格的背景颜色
  

changeBgColor(行,列);

这可能吗?

1 个答案:

答案 0 :(得分:4)

覆盖prepareRenderer方法。

示例:

public Component prepareRenderer (TableCellRenderer renderer, int rowIndex, int columnIndex){  
    Component componenet = super.prepareRenderer(renderer, rowIndex, columnIndex);  

    if(rowIndex % 2 == 0) {  
       componenet.setBackground(Color.RED);  
    } else {
       componenet.setBackground(Color.GREEN);
    }
    return componenet;
} 

在这里,我将偶数位置的所有行着色为RED,将奇数位置的所有行着色为GREEN

考虑到你的问题。使用相同的方法只需使用约束说明,

if(rowIndex == 2 && columnIndex == 3) {
   componenet.setBackground(Color.RED);
}

除了上述单元格外,所有单元格都将获得默认颜色。