我不知道该怎么办。我正在创建一个应用程序。我需要使用表格,所以我使用 JTable。但我对此有很多问题。
它似乎有效,但是当我尝试删除列时,该列消失了(仅在 GUI 中),但所有信息仍然存在。列数也不会改变。
我搜索并尝试了很多不同的代码,但没有任何改变。
public void addTblCol(JTable table,String name) {
DefaultTableModel model = (DefaultTableModel)table.getModel();
TableColumn col = new TableColumn(model.getColumnCount());
col.setHeaderValue(name);
table.addColumn(col);
model.addColumn(name);
this.realColCnt++;
};
public void delTblCol(JTable table,int index) {
DefaultTableModel model = (DefaultTableModel)table.getModel();
TableColumn col = table.getColumnModel().getColumn(index);
table.removeColumn(col);
table.revalidate();
this.realColCnt--;
};
The DefaultTableModel
支持一个setColumnCount()
方法有效地允许您仅从模型末尾删除列。
如果您想从模型中间删除列,那么您将需要:
- 延长
DefaultTableModel
并创建你自己的removeColumn(int column)
方法。
- 此方法需要循环遍历 Vector 中的每一行并使用
Vector.remove(int)
删除每一行的列的方法。
- 最后,一旦完成,您将需要调用
fireTableStructureChanged()
方法告诉表某列已被删除,以便可以重新绘制表。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)