0

从代码片段...

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()) 将单元格的背景设置为绿色 - 即它不会改变。

有人可以解释一下这里发生了什么吗?

非常感谢,

加里

4

1 回答 1

1

注意getBackground()在对象下没有调用方法c

那是 - 不是这样的:c.getBackground()

也许这就是原因?例如getBackground()简单地返回表格的颜色?还是一些默认值?

也许该功能是静态的?还是另一个对象?没有太多上下文很难确定..

于 2014-11-11T13:47:58.613 回答