在JTable中只更改一个单元格的颜色

时间:2012-08-19 14:58:11

标签: java jtable cell background-color

我知道我可以使用此代码设置整个列背景颜色,但是如何为每个单元格设置不同的颜色?我有一个有两列和一到一千行的表。

words.getColumn("columnNameHere").setCellRenderer(
    new DefaultTableCellRenderer() {
        @Override
        public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
            setText(value.toString());
            setBackground(Color.RED);
            return this;
        }
    }
);

1 个答案:

答案 0 :(得分:3)

行号和列号传递到getTableCellRendererComponent。所以你可以这样做:

public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
    setText(value.toString());
    if (row==12 && column==2) {
        setBackground(Color.RED);
    }
    return this;
}