Я должен покрасить текст в ячейки одного столбца, если значение в нем больше нуля. Я знал, что это уже было так, но я не могу найти рабочего решения, несмотря на несколько часов поиска. Все дает мне некоторые ошибки. Решение, которое дает мне меньше всего ошибок заключается в следующем:java set цвет конкретных ячеек в таблице
public class MyRenderer extends DefaultTableCellRenderer
{
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
{
Component c = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
c.setForeground(Color.RED);
double values = Double.parseDouble(c.getInputContext().toString());
if(column == 2){
if(values > 0){
c.setForeground(Color.GREEN);
}
}
return c;
}
}
однако, когда я получить ссылки на это так:
MyRenderer.getTableCellRendererComponent(table, "ok", true, true, 2, 2);
Это дает мне эту ошибку:
Cannot make a static reference to the non-static method getTableCellRendererComponent(JTable, Object, boolean, boolean, int, int) from the type bitc.MyRenderer
Но когда метод статичен, метод дает мне эту ошибку ...:
This static method cannot hide the instance method from DefaultTableCellRenderer
И я понятия не имею, как обойти это.
для лучшей помощи скорее опубликовать SSCCE/MCVE, короткий, работоспособный, компилируется с закодированным значением для JTable/XxxTbaleModel в местном переменная – mKorbel