setBackground(getBackground())做什么?

时间:2014-11-11 13:41:58

标签: jtable setbackground

来自代码段...

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

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

非常感谢,

加里

1 个答案:

答案 0 :(得分:1)

请注意,getBackground()方法未在对象c

下调用

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

也许这就是原因?例如getBackground()只返回表格的颜色?或某些默认值?

也许这个功能是静态的?或另一个对象?没有太多的背景,很难肯定地说..