一个GUI界面上有一个表格,怎么样用JAVA写个方法,让它从数据库里的数据返回到GUI表格里,我以在网上查了很多,也没有一个结果,我对Java很感兴趣,目前自己在自学,希望前辈们能指点,指点,我将非常感谢!!

解决方案 »

  1.   


    while (rs.next()) {
        String[] str = {
            rs.getString("id"), rs.getString("pwd")};
        defaulttablemodel.addRow(str);
               }我是这样的 用的是  defaulttablemodel 的这个模型,
    这个不怎么好,将就用,我就是用的他  呵呵
      

  2.   

    没有直接可利用的API 
    只有自己写的函数  楼上的方法可行  但是在处理数据时要小心  容易出现错误
    以前做了一个学生管理系统就遇到这样的情形
      

  3.   

    这个问题还是不懂,我在网上查了一下,帮我看看这段代码哪里错了
    AbstractTableModel tm; 
      //声明一个类AbstractTableModel对象 
      JTable jg_table;//声明一个类JTable对象 
      Vector vect;//声明一个向量对象 
      JScrollPane jsp;//声明一个滚动杠对象 
      String title[]={"职工号","职工名", 
      "性别","出生日期","工资"}; 
      //二维表列名 
      定制表格。 
      实现抽象类AbstractTableModel对象tm中的方法: 
      vect=new Vector();//实例化向量 
      tm=new AbstractTableModel(){ 
      public int getColumnCount(){ 
      return title.length;}//取得表格列数 
      public int getRowCount(){ 
      return vect.size();}//取得表格行数 
      public Object getValueAt(int row,int column){ 
      if(!vect.isEmpty()) 
      return   
      ((Vector)vect.elementAt(row)).elementAt(column); 
      else 
      return null;}//取得单元格中的属性值 
      public String getColumnName(int column){ 
      return title[column];}//设置表格列名 
      public void setValueAt 
      (Object value,int row,int column){} 
      //数据模型不可编辑,该方法设置为空 
      public Class getColumnClass(int c){ 
      return getValueAt(0,c).getClass(); 
      }//取得列所属对象类 
      public boolean isCellEditable(int row,int column){ 
      return false;}//设置单元格不可编辑,为缺省实现 
      }; 
      定制表格: 
      jg_table=new JTable(tm);//生成自己的数据模型 
      jg_table.setToolTipText("显示全部查询结果"); 
      //设置帮助提示 
      jg_table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); 
      //设置表格调整尺寸模式 
      jg_table.setCellSelectionEnabled(false); 
      //设置单元格选择方式 
      jg_table.setShowVerticalLines(true);// 
      设置是否显示单元格间的分割线 
      jg_table.setShowHorizontalLines(true); 
      jsp=new JScrollPane(jg_table);//给表格加上滚动杠 
      显示查询结果。 
      连接数据库:已给出。 
      数据库查询: 
      Statement stmt=connection.createStatement(); 
      ResultSet rs=stmt.executeQuery 
      ("select * from worker"); 
      显示查询结果: 
      vect.removeAllElements();//初始化向量对象 
      tm.fireTableStructureChanged();//更新表格内容 
      while(rs.next()){ 
      Vector rec_vector=new Vector(); 
      //从结果集中取数据放入向量rec_vector中 
      rec_vector.addElement(rs.getString(1)); 
      rec_vector.addElement(rs.getString(2)); 
        rec_vector.addElement(rs.getString(3)); 
        rec_vector.addElement(rs.getDate(4)); 
      rec_vector.addElement(new Float(rs.getFloat(5))); 
      vect.addElement(rec_vector); 
      //向量rec_vector加入向量vect中 
      } 
      tm.fireTableStructureChanged(); 
      //更新表格,显示向量vect的内容 
      

  4.   

    这个问题解决了,只要按照上面的程序,把Vector  vect设置成全局变量就可以了