У меня есть Jtable, который заполняется из массива значений. Мой код выглядит так:Как изменить цвет целой строки JTable с определенным значением столбца
private static final String[] columnNames = {"Line Number", "Error","Fix Proposed","Percentage (%)"};
static DefaultTableModel model = new DefaultTableModel(null,columnNames);
public static void DisplayMyJList(List<CaptureErrors> x,String extension,
ArrayList<Integer> l,ArrayList<Integer> p,
ArrayList<String> e,ArrayList<String> s) throws IOException {//Method to Dynamic get values to be populated in Jtable.
String theExtension = extension;
if(FILE_EXTENSION.equals("java")) {
for(CaptureErrors ex: x) {
Vector row = new Vector();
row.add(ex.getLinenumber());
row.add(ex.getMyfounderror());
row.add(ex.getMycorrection());
row.add(ex.getMyPercentage()+"%");
model.addRow(row);
//model.setRowColour(1, Color.YELLOW);
}
}
table = new JTable(model);
table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
table.setFillsViewportHeight(true);
table.setShowGrid(true);
table.setShowVerticalLines(true);
table.setGridColor(new Color(0,128,0));
JTableHeader header = table.getTableHeader();
table.setBackground(new Color(255,228,225));
table.setEnabled(true);
header.setFont(new Font("Dialog", Font.CENTER_BASELINE, 12));
header.setBackground(Color.black);
header.setForeground(Color.yellow);
JScrollPane pane4 = new JScrollPane(table);
я могу заполнить JTable из массива значений с помощью JButton. Я хочу иметь условие, в котором, если в столбце «процент», получить все значения в этом столбце> 30, он выделяет строки color.red.
Я не хочу, чтобы пользователь TableCellRendererComponent. Я хочу, чтобы это действие выполнялось после нажатия кнопки Jbutton.
Действительное JTable выглядит следующим образом:
Тогда согласно тому, что я хочу получить, первые 2 строки должны быть выделены красным цветом. Любая помощь оценивается.
Ваша таблица обрабатывает все данные как строку. Вы действительно должны переопределить метод getColumnClass() ', чтобы вернуть правильный класс, чтобы каждый столбец мог быть отформатирован правильно. – camickr