我的代码如下,有何错误,需要改进,请指导!class   MyCellRenderer   extends   DefaultTableCellRenderer   {          public   Component   getTableCellRendererComponent
                  (JTable   table,   Object   value,   boolean   isSelected,
                          boolean   hasFocus,   int   row,   int   column)   {                  //   Obtains   default   cell   settings                  Component   cell   =   super.getTableCellRendererComponent
                                (   table,   value,isSelected,   hasFocus,   row,   column);               
         //指定行的颜色
                  if   (value.equals("info"))
                      super.setBackground(Color.gray);
                  else  if( value.equals("debug"))
                      super.setBackground(Color.green);
                  else  if( value.equals("notice"))
                     super.setBackground(Color.lightGray);
                  else  if( value.equals("warning"))
                     super.setBackground(Color.yellow);
                 else  if( value.equals("error"))
                     super.setBackground(Color.magenta);
                 else  if( value.equals("critical"))
                     super.setBackground(Color.pink);
                 else  if( value.equals("alert"))
                   super.setBackground(Color.red);
                 else  if( value.equals(""))
                   super.setBackground(Color.white);              
                  return   cell;
          }  }

解决方案 »

  1.   

    for(int i = 0; i < table.getColumnCount(); i++) 
                {
                 
                  //table.getColumn(table.getColumnName(i)).setCellRenderer(myCellRenderer);
                  
                } if   (value.equals("info"))
                          cell.setBackground(Color.gray);
      

  2.   

    if(isSelected)
    super.setBackground(Color.Blue);
    就好了