Я впервые здесь пишу, извините, если я допустил ошибку.
Я работаю над JTable, данные столбца которого должны проверять некоторые параметры, например:
Значения столбца 3> 30
Столбец 4 значения> 10
Столбец 5 значений> 4
Также первые 2 столбца заполняются «автоматически», оставляя 0 в остальных столбцах.
Если эти данные верны, в столбце 5 я бы показал изображение галочки, в противном случае я бы показал изображение предупреждения.
Для проверки я использую следующий код
ImageIcon accept = new javax.swing.ImageIcon(getClass().getResource("/resources/accept.png"));
ImageIcon deny = new javax.swing.ImageIcon(getClass().getResource("/resources/exclamation.png"));
public void tableChanged(TableModelEvent e) {
int row = e.getFirstRow();
double d1 = Double.valueOf(jTable.getValueAt(row, 2).toString());
double d2 = Double.valueOf(jT.getValueAt(row, 3).toString());
double d3 = Double.valueOf(jT.getValueAt(row, 4).toString());
if(d1>MAX_A||d2>MAX_B||d3>MAX_C){
jTable.setValueAt(deny, row, 5);
}
else{
jTable.setValueAt(accept, row, 5);
}
}
Проблема этого кода в том, что он возвращает переполнение стека, и я не знаю, как с этим справиться.
Есть ли какой-нибудь другой способ реализации некоторого верификатора в таблице, который подразумевает наличие нескольких ячеек?
Заранее спасибо.