如何使用Java清除JTable的内容..
答案 0 :(得分:63)
您必须从用于表格的TableModel
中删除数据。
如果使用DefaultTableModel
,只需将行数设置为零。这将删除行并触发TableModelEvent
以更新GUI。
JTable table; … DefaultTableModel model = (DefaultTableModel) table.getModel(); model.setRowCount(0);
如果您使用的是其他TableModel
,请查看相关文档。
答案 1 :(得分:18)
基本上,它取决于您用于JTable的TableModel。如果您使用的是DefaultTableModel
,那么您可以通过两种方式实现:
DefaultTableModel dm = (DefaultTableModel)table.getModel();
dm.getDataVector().removeAllElements();
dm.fireTableDataChanged(); // notifies the JTable that the model has changed
或
DefaultTableModel dm = (DefaultTableModel)table.getModel();
while(dm.getRowCount() > 0)
{
dm.removeRow(0);
}
有关详细信息,请参阅DefaultTableModel的JavaDoc
答案 2 :(得分:6)
我必须得到没有列的干净的桌子。我做了以下事情:
jMyTable.setModel(new DefaultTableModel());
答案 3 :(得分:1)
这取决于您用于JTable的模型。
答案 4 :(得分:1)
这是我找到的最快最简单的方式;
while (tableModel.getRowCount()>0)
{
tableModel.removeRow(0);
}
这样可以清除表格的舔裂,并为新数据做好准备。
答案 5 :(得分:1)
我认为你的意思是你要清除jTable中的所有单元格并使其像新的空白jTable一样。 例如,如果您的表是myTable,则可以执行以下操作。
DefaultTableModel model = new DefaultTableModel();
myTable.setModel(model);
答案 6 :(得分:1)
如果我们使用tMOdel.setRowCount(0);
,我们可以获得空表。
DefaultTableModel tMOdel = (DefaultTableModel) jtableName.getModel();
tMOdel.setRowCount(0);
答案 7 :(得分:1)
((DefaultTableModel)jTable3.getModel()).setNumRows(0); // delet all table row
试试这个: