如何清除JTable

时间:2011-01-02 09:08:38

标签: java swing

如何使用Java清除JTable的内容..

8 个答案:

答案 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

试试这个: