В моей программе Java у меня возникла проблема с настройкой цвета ячейки таблицы. Как вы видите ниже, у меня есть 4 разных компонента столбца в ячейках. И когда я меняю цвета всех этих ячеек, меняет цвет колонки.Различные изменения при изменении цвета ячеек JTable
DefaultTableModel tableModel = new DefaultTableModel(columns,0){
@Override
public Class<?> getColumnClass(int column) {
switch(column) {
case 0: return String.class;
case 1: return ImageIcon.class;
case 2: return Integer.class;
case 3: return Integer.class;
default: return Object.class;
}
}
};
И я изменил цвет ячейки так:
table1.setDefaultRenderer(Object.class, new ColorChange);
// I guess Object.class causes the problem
public class ColorChange implements TableCellRenderer {
public final 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);
// Apply zebra style on table rows
if (row % 2 == 0) {
c.setBackground(Color.WHITE);
} else {
c.setBackground(Color.decode("#F8F8F8"));
}
return c;
}
}
Поэтому вопрос состоит в том, что как я могу изменить цвет всех столбцов?
Заранее спасибо.
'if (row% 2 == 0) { c.setBackground (Color.WHITE);' Nimbus PLAF предоставляет строки таблицы альтернативными цветами (автоматически). –