当然第一个了,或者用Vector那个,都比较灵活。

解决方案 »

  1.   

    我也倾向选用Vector。
    不过也要分析一下你的表是什么样的?再看使用哪个方便
      

  2.   

    我也是拿不定,但是我觉得可以把两者结合起来
    就是在TableModel中使用数组(我读取的数据库表肯定要用此结构)
      

  3.   

    可以试用下面的类:
    class ResultsTableModel extends AbstractTableModel
    { String[] columnNames=new String[0];
      Object[][] dataRows;
      TableModelEvent e1;
      public void setResultSet(ResultSet results)
      { try
        { ResultSetMetaData metadata=results.getMetaData();
          int columnsCount=metadata.getColumnCount();
          columnNames=new String[columnsCount];
          for(int i=0;i<columnsCount;i++)
          { columnNames[i]=metadata.getColumnLabel(i+1);
          }
          int i=1;
          while(results.next())
          {i++;
          }
          int rowsCount=i;
          i=0;
          results.beforeFirst();
          dataRows=new Object[rowsCount][columnsCount];
          while(results.next())
          { for(int j=0;j<columnsCount;j++)
            { dataRows[i][j]=results.getString(j+1);
            }
            i++;
          }
          fireTableChanged(e1);
        }
        catch(SQLException sqle)
        {System.err.println(sqle);
        }
      }
      public int getColumnCount()
      { return columnNames.length;
      }
      public int getRowCount()
      { if(dataRows==null)
        return 0;
        else
        return dataRows[0].length;
      }
      public Object getValueAt(int row,int column)
      { return ((String)(dataRows[row][column]));
      }
      public String getColumnName(int column)
      { return columnNames[column]==null?"no name":columnNames[column];
      }
    }
      

  4.   

    由于我读进来的表格数据是vector,所以谢谢你提供的代码!(等着接分吧虽然不多!呵呵)
    columnNames = {(v.get(0)).toString()。}
    用这个来初始化时,结果出来的标题中多一个[],不知何故?