Может кто-то, пожалуйста, помогите мне сделать этот код более эффективным. Я знаю, что есть лучший способ сделать это, но я не могу понять это. Извините, я довольно новичок в Java. Любая помощь приветствуется.Java (ищет лучшее решение) - JTable цвет обновления ячеек таблицы
Я хотел бы, чтобы цвет ячеек и текста изменялся в соответствии со значением числа в ячейке. Если диапазон значений: - 0-39 = красный - 40- 69 = Зеленый - выше 70 = Orange - все остальное белое с черным текстом
вот мой код. Заранее спасибо
DefaultTableModel model = new DefaultTableModel(data, columnNames);
JTable table = new JTable(model) {
@Override
public Component prepareRenderer(TableCellRenderer renderer, int row, int col) {
Component newcomponent = super.prepareRenderer(renderer, row, col);
Object value = getModel().getValueAt(row, col);
if ((value.equals(39)) || (value.equals(38)) || (value.equals(37)) || (value.equals(36))
|| (value.equals(35)) || (value.equals(34)) || (value.equals(33)) || (value.equals(32))
|| (value.equals(31)) || (value.equals(30)) || (value.equals(29)) || (value.equals(28))
|| (value.equals(27)) || (value.equals(26)) || (value.equals(25)) || (value.equals(24))
|| (value.equals(23)) || (value.equals(22)) || (value.equals(21)) || (value.equals(20))
|| (value.equals(19)) || (value.equals(18)) || (value.equals(17)) || (value.equals(16))
|| (value.equals(15)) || (value.equals(14)) || (value.equals(13)) || (value.equals(12))
|| (value.equals(11)) || (value.equals(10)) || (value.equals(9)) || (value.equals(8))
|| (value.equals(7)) || (value.equals(6)) || (value.equals(5)) || (value.equals(4))
|| (value.equals(3)) || (value.equals(2)) || (value.equals(1)) || (value.equals(0))) {
newcomponent.setBackground(Color.red);
newcomponent.setForeground(Color.red);
} else if ((value.equals(69)) || (value.equals(68)) || (value.equals(67)) || (value.equals(66))
|| (value.equals(65)) || (value.equals(64)) || (value.equals(63)) || (value.equals(62))
|| (value.equals(61)) || (value.equals(60)) || (value.equals(59)) || (value.equals(58))
|| (value.equals(57)) || (value.equals(56)) || (value.equals(55)) || (value.equals(54))
|| (value.equals(53)) || (value.equals(52)) || (value.equals(51)) || (value.equals(50))
|| (value.equals(49)) || (value.equals(48)) || (value.equals(47)) || (value.equals(46))
|| (value.equals(45)) || (value.equals(44)) || (value.equals(43)) || (value.equals(42))
|| (value.equals(41)) || (value.equals(40))) {
newcomponent.setBackground(Color.green);
newcomponent.setForeground(Color.green);
} else if ((value.equals(100)) || (value.equals(99)) || (value.equals(98)) || (value.equals(97))
|| (value.equals(96)) || (value.equals(95)) || (value.equals(94)) || (value.equals(93))
|| (value.equals(92)) || (value.equals(91)) || (value.equals(90)) || (value.equals(89))
|| (value.equals(88)) || (value.equals(87)) || (value.equals(86)) || (value.equals(85))
|| (value.equals(84)) || (value.equals(83)) || (value.equals(82)) || (value.equals(81))
|| (value.equals(80)) || (value.equals(79)) || (value.equals(78)) || (value.equals(77))
|| (value.equals(76)) || (value.equals(75)) || (value.equals(74)) || (value.equals(73))
|| (value.equals(72)) || (value.equals(71)) || (value.equals(70))) {
newcomponent.setBackground(Color.orange);
newcomponent.setForeground(Color.orange);
} else {
newcomponent.setBackground(Color.white);
newcomponent.setForeground(Color.black);
}
return newcomponent;
}
};