我要循环加入N列,每加入一列就要将这列移动到整个table的第二列去。
现在有个问题,第一次加入移动没有问题,可是以后的几次操作前面新加入的列都会到整个table的最后面去,然后最后加入的列会在第二列显示。这个问题如何解决?一下是相关代码:TableColumn col = new TableColumn(table.getModel().getColumnCount());
table.addColumn(col);
DefaultTableModel model = (DefaultTableModel)table.getModel();
model.addColumn(columnText);
int colCnt = table.getColumnModel().getColumnCount();
table.moveColumn(colCnt - 1, colu);

解决方案 »

  1.   


    TableColumn col = new TableColumn(table.getModel().getColumnCount());
    table.addColumn(col);
    DefaultTableModel model = (DefaultTableModel)table.getModel();
    model.addColumn(columnText);
    model.fireTableDataChanged();//=================try it
    int colCnt = table.getColumnModel().getColumnCount();
    table.moveColumn(colCnt - 1, colu);
      

  2.   

    先将所有的要增加的列组织成一个Vector ,然后再一次加入tableModel中public void addColumn(Object columnName, Vector columnData)
      

  3.   

    错了,没注意看,不好意思,呵呵
    应该不能出现楼主说的现象吧,每次在addColumn的时候应该都fire给table你把tableModel 换成 tableColumnModel试试