如何设置行的颜色并将图像添加到单元格

时间:2011-10-23 01:21:58

标签: java swing jtable render

我想更改行的颜色,因此我创建了自己的单元格渲染器:

@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,
        boolean hasFocus, int row, int column) {

    if (row % 2 == 1) {
        setBackground(new Color(245, 245, 245));
    }
    if (row % 2 == 0) {
        setBackground(Color.white);
    }

    setHorizontalAlignment(JLabel.CENTER);
    return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
}

这个工作正常,直到我想将图像添加到单元格,所以我覆盖表中的方法:

    @Override
    public Class getColumnClass(int column) {
        if (column == 4) {
            return ImageIcon.class;
        }
        return Object.class;
    }

现在第四列仍为白色,不会改变颜色。

我如何同时实施所有这些事情?

建议

1 个答案:

答案 0 :(得分:3)

  

我想改变颜色

Table Row Rendering显示了一种简单的方法。您不需要自定义渲染器。但是你仍然需要覆盖getColumnClass()方法来显示你的Icon。