如下图,在初始化GUI时将暂时无元素的某容器vector传给了jTable的TableModel,则此时jTable绘制row 0行,此后直接向vector里加入元素,jTable并不会增加row数。有没有办法让jTable自动增加row呢? private void initGUI() {
Vector<Vector<String>> vector = new Vector<Vector<String>>();
Vector<String> coloumNames = new Vector<String>(1);
coloumNames.add("no");

DefaultTableModel jTableModel = new DefaultTableModel(vector, coloumNames); JTable jTable = new JTable();
jTable.setModel(jTableModel);

JScrollPane jScrollPane = new JScrollPane(jTable);

this.setSize(400, 300);
this.getContentPane().add(jScrollPane);
this.setVisible(true);
}

解决方案 »

  1.   

    有多少個列  vector 就循環加多少個‘’  就行了 ~   
      

  2.   

    当Model值改变时,重新给table设置一下model,考虑一下效率问题
      

  3.   

    jTableModel.fireTableDataChanged();
    repaint();
      

  4.   

    repaint就不用了,fire方法会触发
      

  5.   

    设置表格model模式的时候可以适当的大点,然后当表格里面增加内容的时候,用jTableModel.fireTableDataChanged(); 就可以自动改变显示数据大小 当时总体的row跟culum是不会改变,改变的里面显示的row,就像一些日历表格一样