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

Kri*_*hna 2 java swing jtable renderer

我有JTable table15 行和 5 列,当我调用如下函数时,我想更改第三列/第二行单元格的背景颜色

更改BgColor(行,列);

这可能吗?

Ama*_*ath 5

重写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;
} 
Run Code Online (Sandbox Code Playgroud)

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

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

if(rowIndex == 2 && columnIndex == 3) {
   componenet.setBackground(Color.RED);
}
Run Code Online (Sandbox Code Playgroud)

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