Java 为netbeans中的jtable行着色

Java 为netbeans中的jtable行着色,java,swing,netbeans,jtable,Java,Swing,Netbeans,Jtable,我是java新手。我试图做的是创建一个显示对象列表的表。我想要的是根据对象成员的值为JTable中的特定行指定颜色。我看到了很多选择,比如使用“TableCellRender”等等,我也尝试过。但问题是,我使用的是Netbeans IDE,所以我不是通过代码创建表。有人能帮我更改由NetBeans定义的表的行颜色吗 提前感谢。您可以使用DefaultTableCellRenderer为JTable中的备用行着色 table.setDefaultRenderer(Object.class, new

我是java新手。我试图做的是创建一个显示对象列表的表。我想要的是根据对象成员的值为JTable中的特定行指定颜色。我看到了很多选择,比如使用“TableCellRender”等等,我也尝试过。但问题是,我使用的是Netbeans IDE,所以我不是通过代码创建表。有人能帮我更改由NetBeans定义的表的行颜色吗


提前感谢。

您可以使用
DefaultTableCellRenderer
JTable
中的备用行着色

table.setDefaultRenderer(Object.class, new TableCellRenderer(){
    private DefaultTableCellRenderer DEFAULT_RENDERER =  new DefaultTableCellRenderer();

            @Override
            public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
                Component c = DEFAULT_RENDERER.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
                if(isSelected){
                    c.setBackground(Color.YELLOW);
                }else{
                if (row%2 == 0){
                    c.setBackground(Color.WHITE);

                }
                else {
                    c.setBackground(Color.LIGHT_GRAY);
                }     }

       //Add below code here
                return c;
            }

        });
如果要使用特定行的值为行着色,则可以使用类似的方法。将这些行添加到上面

if(table.getColumnModel().getColumn(column).getIdentifier().equals("Status")){//Here `Status` is column name
    if(value.toString().equals("OK")){//Here `OK` is the value of row

        c.setBackground(Color.GREEN);
    }   
}

任何人都能给你的最好建议是放弃GUI构建器,直到你了解它在幕后做什么。例如,你仍然可以使用你的代码访问表谢谢。。这很有帮助。