如何在jtable中使用自定义单元格渲染以满足以下需求?

时间:2016-07-13 12:57:07

标签: java swing jtable

我希望有一个包含唯一行数据的jtable,如果两个或多个行数据相同,那么我想更改那些行背景颜色。我发现自定义表格单元格渲染是这些操作的最佳选择,但我不知道如何使用自定义单元格渲染,请指导我。

这是我的代码:

ArrayList<String> dup1 = new ArrayList<String>();
int dup_flag=0;
for(int count = 0; count < getTablXtocsvXB_B3_B3_1().getRowCount(); count++){
            String dup=(getTablXtocsvXB_B3_B3_1().getValueAt(count, 0).toString());
            if(dup1.contains(dup)){
                dup_flag=1;
                //have to color this row since it is a duplicate one
                getTablXtocsvXB_B3_B3_1().getColumnModel().getColumn(0).setCellRenderer(new colorRenderer());
            else {
                dup1.add(dup);
            }
        }

以下是自定义单元格呈现代码:

public class colorRenderer extends DefaultTableCellRenderer {
    @Override
    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
        super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); 
        setBackground(Color.RED);

        return this;
    }
}

我不知道自定义单元格渲染代码是否正确,也不知道如何合并这两个代码。我是这个自定义单元格渲染的新手,请提示一些代码做这个操作。还有其他办法吗?

0 个答案:

没有答案