0

我已经被这个困扰了很长一段时间了。我了解您使用表模型用新值刷新实际表,但是我似乎无法让它工作。我在表单中添加了一个 tablemodellistener 并有一个 tableChanged 方法。但是,我似乎无法弄清楚为什么当我插入表时没有调用 tableChanged 方法。

public void tableChanged(TableModelEvent e) {

    int row = e.getFirstRow();
    int column = e.getColumn();
    DefaultTableModel model = (DefaultTableModel)e.getSource();
   // String columnName = model.getColumnName(column);
    //Object data_1 = model.getValueAt(row, column);

    //model.fireTableCellUpdated(row, column);
    //model.fireTableDataChanged();
    //customerTable.repaint();


}

如果我单击表单上的刷新按钮,我可以完全重建表格吗?那有可能吗?如果不是,我是否必须从刷新按钮的操作执行方法中调用我的 tableChanged 方法才能触发它?我已经坚持了很长一段时间了,我只是想弄清楚这一点,以利于学习。

4

2 回答 2

0

如果您有选择并且它符合您的需求,我建议您看看GlazedLists。这样您就不必担心更新您的表格模型了——这一切都为您处理好了。

这是GlazedLists 教程的相关部分的跳转

于 2011-03-29T14:13:01.407 回答
0

我相信您需要手动将您的表添加为表 TableModel 的侦听器。

于 2011-03-29T15:32:35.340 回答