2016-07-18 2 views
0

Я хочу кнопку при нажатии, вызывает метод, который изменяет цвета ячеек объекта jTable. Что-то вроде:Как изменить цвет ячейки jTable с помощью выделенной строки и столбца ячейки?

jTableName.setCellBackground(Color, row, column) 

Привлечение меня к методу, близкому или близкому к нему, действительно поможет мне прямо сейчас.

ответ

0

Это может помочь вам

Вы можете использовать DefaultTableCellRenderer окрашивать альтернативные строки из JTable.

table.setDefaultRenderer (Object.class, новый TableCellRenderer() { частное DefaultTableCellRenderer DEFAULT_RENDERER = новый> 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 Статус is column name if(value.toString().equals("OK")){//Here OK is the value of row

c.setBackground(Color.GREEN); 

}

Это из here

Смежные вопросы