Swing JTable没有提供设置单个单元格颜色的API,可通过重写DefaultTableCellRenderer类的 getTableCelllRendererComponent实现。核心代码如下:
class MyTableCellRender extends DefaultTableCellRenderer(){
private Color color = getBackground();
@override
public Component getTableCelllRendererComponent (JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column){
Component c = super.getTableCellRendererComponent(table,value,isSelected, hasFocus, row, column);
if("拒绝".equals(value) && column == 5){
setBackground(Color.red)//如果第五列的值为“拒绝”则背景颜色设置为红色
}else{
setBackground(color);//其他单元格颜色不变
}
return c;
}
}
本文介绍如何通过重写DefaultTableCellRenderer类的getTableCellRendererComponent方法来改变SwingJTable中特定单元格的背景颜色。具体实现是当第五列的值为“拒绝”时,将该单元格背景设为红色。

8636

被折叠的 条评论
为什么被折叠?



