我在Netbeans编程,我在一个框架中有一个jTable。如何清除JTable中的数据?
其中我加载占用大量行的数据,但后来我加载了另一个有很少行的表。
而当我运行它,并加载第二个表时,第一个表中的额外行仍然出现在那里。我想看看第二张桌子。
我已经尝试过了jTable.removeAll();
我在Netbeans编程,我在一个框架中有一个jTable。如何清除JTable中的数据?
其中我加载占用大量行的数据,但后来我加载了另一个有很少行的表。
而当我运行它,并加载第二个表时,第一个表中的额外行仍然出现在那里。我想看看第二张桌子。
我已经尝试过了jTable.removeAll();
JTable使用模型/视图/控制器方法,这意味着JTable类是既视图和控制器,所以你需要使用JTable.setModel(来替换为TableModel newModel)或通过使用JTable.getModel()清除TableModel并以这种方式清除模型。
请参阅关于使用JTable Tutorials中的表格的教程。
另请参见[* Swing架构概述*](http://java.sun.com/products/jfc/ TSC /用品/建筑/)。 – trashgod 2012-02-04 02:41:50
你的问题的最佳解决方案是
private void ClearButtonActionPerformed(java.awt.event.ActionEvent evt) {
DefaultTableModel model = (DefaultTableModel)UR_TABLEVARIABLENAME.getModel();
while (model.getRowCount() > 0){
for (int i = 0; i < model.getRowCount(); ++i){
model.removeRow(i);
}
}
}
'removelAll()'从容器中删除所有的部件和具有无关的JTable,它的数据。解决方案是通过'getModel()'获取表的TableModel并从中清除数据,或者给JTable一个新的TableModel。但首先,请阅读[JTable教程](http://docs.oracle.com/javase/tutorial/uiswing/components/table.html)。这里都有解释,你的问题表明你还没有完成这个基本步骤。您还需要查看JTable API以及用于您的JTable的模型DefaultTableModel。 – 2012-02-03 21:22:08
非常好,非常感谢! – 2012-02-03 22:18:42
不客气! – 2012-02-03 22:19:25