我不知道该怎么做.我正在创建一个应用程序.我需要使用表,所以我使用JTable.但我有很多问题.它似乎工作,但当我尝试删除列时,此列消失(仅在GUI中),但所有信息仍然存在.columncount也不会改变.
我搜索并尝试了很多不同的代码,但没有任何改变.
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--;
};
Run Code Online (Sandbox Code Playgroud)
该DefaultTableModel支持setColumnCount(),有效地将允许你只从模式的终结删除列的方法.
如果要从模型中间删除列,则需要:
DefaultTableModel并创建自己的removeColumn(int column)方法. Vector.remove(int)方法删除行的列. fireTableStructureChanged()方法来告诉表已删除列,以便可以重新绘制表.