按值更改jTable单元格颜色

时间:2018-03-12 02:09:13

标签: java jtable tablecellrenderer

根据我看过的所有例子,我的代码应该可行。为什么不工作? 如果我指定行和列,我可以更改表格中的单元格颜色,但如果我指定了值,它就无法工作。 这就是我所拥有的:

//Custom renderer to color table cells red
//cellValue = 00:00:00 - a LocalTime in the table, so all cells with that value should be red.

 public class MyTableCellRenderer extends DefaultTableCellRenderer {

        public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
            Component c = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);

            if (value == cellValue) { 
                c.setForeground(Color.red);
            } else {
                c.setForeground(table.getForeground());
            }
            return c;
        }
    }

在我疯了之前请帮忙!

1 个答案:

答案 0 :(得分:1)

_mm256

请勿使用“==”来比较对象。

相反,你应该使用equals(...)方法:

if (value == cellValue)