现在我有一个使用 JDBC 访问 SQL 数据库的 AbstractTableModel 的 JTable。我这样做
stmt.executeUpdate(someStr);
fireTableRowsInserted(rowCount,rowCount+1);
这显然在 JTable 上添加了行。但是,我希望 JTable 只显示添加的行。
我想也许创建一个只包含添加行的结果集,但我无法得到它,因为我没有增量 id 字段。
还有什么我可以尝试的吗?
不要重新发明轮子,搜索ResultsetTableModel,TableFromDatabase(所有事件都打开EDT并Swing GUI等待/冻结直到所有事件结束,基于AbstractTableModel)
重新发明轮子,
a) 使用Runnable#Thread()或SwingWorker( publish(), progress()) 表示JDBC
b)创建一个适当的AbstractTableModel,有覆盖适当的通知,
c) 在模型中使用通知器,"fireTableRowsInserted(rowCount,rowCount+1);"
Swing GUId) , JTable,的所有更新XxxTableModel必须在EDT
如果有要求严格覆盖其中的方法AbstractTableModel,则寻找正确的AbstractTableModel,否则使用DefaultTableModel和调用 from Runnable#Thread()or SwingWorkeronly myModel.addRow(),仅此而已
为了获得更好的帮助,请尽快发布将数据硬编码到instreadArray中的 SSCCEJDBC Connections