我从文件中读数据显示在JTable中,怎么画JTable的行数与数据个数相同?

解决方案 »

  1.   

    假设已经有了ResultSet rs;
    ResultSetMetaData md = rs.getMetaData();  //获得元数据信息
    int cols = md.getColumnCount();           //获得列数

    int rows = 0;   //获得行数
    rs.last();
    rows = rs.getRow();

    String head[] = new String[cols];   //保存表头数据
    String data[][] = new String[rows][cols]; //保存表体数据

    for (int i = 0; i<cols; i++)
    {
    head[i]= md.getColumnName(i+1);       //表头数据初始化
    }

    rs.beforeFirst();   //移动到第一行记录前面
    int k=0;
    while(rs.next())
    {
    for (int j = 0; j<cols; j++)
    {
    data[k][j]=rs.getString(j+1);   //表体数据数组初始化
    }
    k++;

    }
    DefaultTableModel dtm = new DefaultTableModel(data,head);
    JTable table = new JTable(dtm);
      

  2.   

    DefaultTableModel tableModel=table.getModel();//table是你的表名
    while(rs.next())//rs是从数据库取出的记录
    {
    ...
    ...
    //把rs每个字段付给data数组
    tableModel.addRow(data);
    //data是一个String[],假如你的表的列都是string,并且data的个数与你的表的列数相同
    }