Я ищу, как изменить цвет некоторых строк в моем JTable
, которые имеют индекс в целочисленном векторе с именем Notfoundrow
, но проблема в том, что у меня есть проблема, в результате которой все строки в таблице меняют цвет на красный!
Вот мой код:
package essai_trafficclass;
import java.awt.Color;
import java.awt.Component;
import java.util.ArrayList;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
public class MonCellRenderer extends DefaultTableCellRenderer {
public static ArrayList<Integer> Notfoundrow1 = OneWayRelation.Notfoundrow;
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
Component cell = super.getTableCellRendererComponent(table, value,
isSelected, hasFocus, row, column);
int L = 0;
while (L < Notfoundrow1.size()) {
System.out.println("la valeur du vecteur " + Notfoundrow1.get(L));
if (row == Notfoundrow1.get(L) && column == 1) {
cell.setBackground(Color.RED);
} else if (row == Notfoundrow1.get(L) && column == 1) {
cell.setBackground(Color.RED);
} else {
cell.setBackground(Color.WHITE);
}
L++;
}
return cell;
}
}
И затем я вызываю этот класс:
tableM.setDefaultRenderer(Object.class, new MonCellRenderer());
tableM
- это таблица, в которой я хочу изменить цвет строк.
Спасибо за любую помощь.
if
— это одно и то же. Как только вы измените цвет ячейки, вам действительно нужно продолжать проверятьArrayList
после того, как вы получите положительное совпадение? - person MadProgrammer   schedule 27.05.2013