Как динамически изменить фон ячейки jtable

У меня есть JTable table1 с 5 строками и 5 столбцами, и я хотел бы изменить цвет фона 3-го столбца/ячейки 2-й строки, когда я вызываю такую ​​функцию, как

изменитьBgColor (строка, столбец);

Это возможно?


person Krishna    schedule 15.01.2013    source источник


Ответы (1)


Переопределить prepareRenderer для этого.

Пример:

public Component prepareRenderer (TableCellRenderer renderer, int rowIndex, int columnIndex){  
    Component componenet = super.prepareRenderer(renderer, rowIndex, columnIndex);  

    if(rowIndex % 2 == 0) {  
       componenet.setBackground(Color.RED);  
    } else {
       componenet.setBackground(Color.GREEN);
    }
    return componenet;
} 

Здесь я окрашиваю все строки в четных позициях как RED, а все строки в нечетных позициях как GREEN.

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

if(rowIndex == 2 && columnIndex == 3) {
   componenet.setBackground(Color.RED);
}

Кроме указанной выше ячейки, все ячейки получат цвет по умолчанию.

person Amarnath    schedule 15.01.2013