【发布时间】:2011-09-08 02:36:58
【问题描述】:
我需要删除 JTable 中的所有行。
我已经尝试了以下两种方法:
/**
* Removes all the rows in the table
*/
public void clearTable()
{
DefaultTableModel dm = (DefaultTableModel) getModel();
dm.getDataVector().removeAllElements();
revalidate();
}
和
((DefaultTableModel)table.getModel()).setNumRows(0);
两者都不会删除所有行。有什么想法吗?
【问题讨论】:
-
@MByD 我刚刚添加了 revalidate(),但仍然看到相同的内容。我正在使用 CustomeTableCellRenderer,但我认为这不会做太多。
-
我也试过这个。没有运气。我认为还有其他事情发生。
-
@MByD,不,你不应该 revalidate() 或 repaint()。 TableModel 负责通知 JTable 发生了一些变化,以便表格可以自动重新绘制自己。
-
@camickr - 供参考:)
-
投票以非真实问题的形式结束 - 发布后无法回答,并且会引发一个又一个不正确的伪答案...