好吧,我已經閱讀了這個,但我仍然很困惑。我有一個帶有定製表模型的JTable,它將數據存儲在ArrayList中。它顯示得很好。但是,當我想添加一行時,我向ArrayList添加一個對象,然後調用fireTableRowsInserted(...)。但是,表不刷新。當模型更新時JTable不更新
public Main() {
initComponents();
current_map = new Map();
current_map.authors.add(new Author("New Author"));
author_model = new AuthorModel(current_map.authors);
jTable1.setModel(new AuthorModel(current_map.authors)); <---This is the mistake
}
...
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
author_model.authors.add(new Author("New Author"));
author_model.fireTableRowsInserted(author_model.authors.size(), author_model.authors.size());
}
上面的代碼是從我的主要JFrame。不知道該從哪裏出發。
我迷路了。
jTable1.setModel(new AuthorModel(current_map.authors));
但單擊該按鈕時,您修改變量author_model:
不要直接調用TableModel的fireXXX方法。這些方法只能由TableModel類本身調用。 – camickr 2013-05-13 05:41:17
啊,所以更新會自動發生呢?我會試試看。 – 2013-05-13 17:22:29