Я пытаюсь изменить цвет полей в JTable в соответствии с их значением.Я не хочу менять какой-либо цвет первого столбца, но он все равно меняется с ошибками (некоторые поля не заполнены правильно, например, University и возможный_обозреватель): ![x is the first column](https://i.stack.imgur.com/00jQz.png)
Мой код выглядит следующим образом:
table.setDefaultRenderer(Object.class, new CustomRenderer());
private class CustomRenderer extends DefaultTableCellRenderer {
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,boolean hasFocus, int row, int col){
Component comp = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, col);
try {
Double val = Double.parseDouble(value.toString());
if(col == 0){
comp.setBackground(Color.white);
} else {
comp.setBackground(changeColor(val));
}
} catch (NumberFormatException e){}
return( comp );
}
private Color changeColor(Double val) {
//returns a Color between red and green depending on val
}
}
Странная вещь в том, что когда я использую "col == 2", второй столбец становится белым, но первый остается странно окрашенным.
У кого-нибудь есть идея?