来自代码段...
if ((Boolean) getModel().getValueAt(modelRow, 4)) {
c.setBackground(Color.GREEN);
repaint();
} else {
c.setBackground(getBackground());
如果背景当前是Color.GREEN,则c.setBackground(getBackground())似乎将单元格的背景重置为表格的默认颜色。这就是我想要的,但我不明白为什么。当然getBackground()返回Color.GREEN,然后c.setBackground(getBackground())将单元格的背景设置为绿色 - 即它不会改变。
有人可以解释一下这里发生了什么吗?
非常感谢,
加里
答案 0 :(得分:1)
请注意,getBackground()
方法未在对象c
那是 - 不是这样的:c.getBackground()
也许这就是原因?例如getBackground()
只返回表格的颜色?或某些默认值?
也许这个功能是静态的?或另一个对象?没有太多的背景,很难肯定地说..