如何使用Cell的指定行和列更改jTable的单元格颜色?

时间:2016-07-18 09:26:39

标签: java

点击时我想要一个按钮,调用一个改变jTable对象的单元格颜色的方法。类似的东西:

jTableName.setCellBackground(Color, row, column)

带我到一个与此接近或类似的方法,这对我现在真的有帮助。

1 个答案:

答案 0 :(得分:0)

这可能对您有所帮助

  

您可以使用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 {状态{1}}确定is column name if(value.toString().equals("OK")){//Here

is the value of row
     

}

这是here