Я хочу установить цвет для каждой строки моего JTable в зависимости от сделанного ранее расчета.Тем не менее, расчет является правильным, и он запускает метод setRowColor()
, написанный мной самостоятельно, с правильным цветом, но цвет всей таблицы устанавливается.
Итак, если последний элемент оранжевый, вся таблица устанавливаетсяна оранжевый, хотя метод setRowColor()
вызывается с другим цветом.То же самое касается любого другого цвета.Вы можете увидеть это на выходе консоли здесь:
Row 0: White
Row (0) & Cell (0) to java.awt.Color[r=255,g=255,b=255]
Row (0) & Cell (1) to java.awt.Color[r=255,g=255,b=255]
Row (0) & Cell (2) to java.awt.Color[r=255,g=255,b=255]
Row 1: Orange
Row (1) & Cell (0) to java.awt.Color[r=255,g=200,b=0]
Row (1) & Cell (1) to java.awt.Color[r=255,g=200,b=0]
Row (1) & Cell (2) to java.awt.Color[r=255,g=200,b=0]
Он всегда устанавливает всю таблицу в последний вызванный цвет!Почему это и как я могу это исправить?Вот мой код:
private void setRowColor(int row, Color color){
for (int i = 0; i < 3; i++) {
TableCellRenderer tableCellRenderer = sellTable.getCellRenderer(row, i);
Component c = sellTable.prepareRenderer(tableCellRenderer, row, i);
c.setBackground(color);
System.out.println("Row (" + row + ") & Cell (" + i + ") to " + color.toString());
}
System.out.println();
System.out.println();
}