Я использую JComboBox
в качестве редактора ячеек для моего JTable
.Когда я выбираю одно из значений в раскрывающемся списке ComboBox, setValueAt
не вызывается.Я знаю это, потому что я переопределил функцию.На основании значения, выбранного в этой ячейке, значение в другой ячейке той же таблицы является фиксированным.Кроме того, мне нужно знать, какой actionListener
для этого события, т.е. когда я изменяю значение в ComboBox.
setValueAt
вызывается только тогда, когда фокус меняется на другую ячейку втаблица, просто нажав за пределами таблицы также не помогает.
@Override
public void setValueAt(Object o,int row,int col)
{
super.setValueAt(o, row, col);
if(((String)o).matches("1"))
{
super.setValueAt(o, col-1, row+1);
return;
}
if(((String)o).contains("/"))
super.setValueAt(((String)o).substring(2), col-1, row+1);
else
super.setValueAt("1/"+(String)o, col-1, row+1);
}