如何在JTable java中插入/删除列

CRO*_*OSP 4 java swing jtable

我不知道该怎么做.我正在创建一个应用程序.我需要使用表,所以我使用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)

cam*_*ckr 6

DefaultTableModel支持setColumnCount(),有效地将允许你只从模式的终结删除列的方法.

如果要从模型中间删除列,则需要:

  1. 扩展DefaultTableModel并创建自己的removeColumn(int column)方法.
  2. 此方法需要循环遍历Vector中的每一行,并使用该Vector.remove(int)方法删除行的列.
  3. 最后,一旦完成,您将需要调用该fireTableStructureChanged()方法来告诉表已删除列,以便可以重新绘制表.