Цветные настольные клетки

я хочу покрасить ячейки таблицы в соответствии со значением в столбце 1, если значения не равны значению в столбце 1, цвет должен быть голубым, но мой код не работает:

table = new JTable(){
           public TableCellRenderer getCellRenderer(int row, int column) {
              TableCellRenderer tcr=null;
               Color c;
               if(column>=1&&getValueAt(row, column)!=null &&getValueAt(row, 1)!=null &&!getValueAt(row, column).equals(getValueAt(row, 1)))
                   c=Color.CYAN;
               else
                   c=Color.white;
                if(getValueAt(row, column) instanceof Boolean) {
                  tcr= super.getDefaultRenderer(Boolean.class);
                } else {
                  tcr=  super.getCellRenderer(row, column);
                }

               tcr.getTableCellRendererComponent(this, getValueAt(row, column), isCellSelected(row, column) , hasFocus(), row, column).setBackground(c);
               return tcr;

            }
            public TableCellEditor getCellEditor(int row, int column) {
                if(getValueAt(row, column) instanceof Boolean) {
                    return super.getDefaultEditor(Boolean.class);
                } else {
                    return super.getCellEditor(row, column);
                }
            }
    };
          table.setModel(new DefaultTableModel(
            new Object[][] {
             {"Row1", "1","2","3"},
             {"Row2", "2","2","3"},
             {"Row3", "2","2","2"},
             {"Row3", "2","1","2"}
                           },
            new String[] {"Header1", "Header2","Header3","Header4"}
    ));

Ответы на вопрос(1)

Ваш ответ на вопрос