我正在使用 JTable 和 DefaultModel 实现电子表格。我的问题是当我输入一个公式并且我想让表更新它进入 model.fireupdate 和表更改事件之间的循环的值时。我尝试删除 TableModelEvent 然后添加它,但它不起作用。当我在控制台中打印新的计算值时,电子表格更新得很好。例如:
我在一个单元格中输入 2+3
控制台显示电子表格单元格值 = 5 工作正常
Jtable 单元格仍显示 2+3 并导致异常,因为我正在尝试更新单元格!
谢谢你的反馈。
public void tableChanged(TableModelEvent e) {
final int i = e.getFirstRow();
final int j = e.getColumn();
TableModel model = (TableModel) e.getSource();
final Object data = model.getValueAt(i, j);
if (e.getType() == TableModelEvent.UPDATE) {
my_spreadSheet.editCell(i, j, (String) data); // updating spreadsheet cell here
// and calculating it This works ok
}
my_table.setValueAt( // trying to update the jtable
my_spreadSheet.getCellContent(jtbl_row, jtbl_col), i, j); // here causes error.
}