SWING没做过,不过应该是很清楚的,你返回一个集合类型的不就行了吗?
把这个表格用VO 模式 包装成一个类,然后返回这个类的集合不就行了吗?
然后SWING客户段用 table 控件(具体是什么我不太清楚,好像是 JTable 吧) 处理一下

解决方案 »

  1.   

    EJB 或者说JAVA怎么会知道你那个TDB Grid 是什么东西呢,当然是要由你把结果集转换成TDB Grid 所需要的结果集的格式
      

  2.   

    这个用delphi好实现!
    但是用vb,你就得花些功夫了!
      

  3.   

    用VB,和DELPHI 都好实现,控件放放就好了,用JAVA两层的还好,可以用DATA EXPRESS 什么的,三层结构的EJB,SWING客户端要将EJB返回的查询结果罗列成一张大表,说不定还要实现翻页功能,难呀!  小弟也不知,在此学习一下!
      

  4.   

    返回的结果直接用Model封装(不要告诉我不知道什么是Model)。
    然后JTable.setModel(model)就可以了
      

  5.   

    那是不是要单独写个JTableExample.java  和  单独写个Model
      class TableModel extends AbstractTableModel{  }
      是不是呀?
      

  6.   

    用SessionBean直接连接JDBC就可以了,不需要用EntityBean,EntityBean只做一些数据库修改,新增,删除等操作,查询就交给SessionBean来完成,这样度会快些。将查询到地结果组合成Collection或者Arraylist等集合对象,将其显示到网页或者Swing对象中,就这样!
      

  7.   

    给一段代码:
    保存JTABLE里的数据数组:
       DefaultTableModel dtm1=(DefaultTableModel)jTable1.getModel();
       Vector v=dtm1.getDataVector();
       int row=dtm1.getRowCount();
       int col=dtm1.getColumnCount();
       Object[][] data=new Object[row][col];
       Vector tmp;
       for(int i=0;i<row;i++)
        {tmp=(Vector)v.get(i);
         for(int j=0;j<col;j++) data[i][j]=tmp.get(j);
        }更新JTABLE:
       javax.swing.table.DefaultTableModel dtm1=new javax.swing.table.DefaultTableModel();
       dtm1.setDataVector(data,modeldata.getColumnNames());
       if(modeldata!=null) jTable1.setModel(dtm1);
      

  8.   

    相信大侠是这方面的高手,帮忙看看,我的这段程序为什么不行?
      class TableModel extends DefaultTableModel{
       public TableModel() {
        getSource();
       super(data,columnName); 我不知道为什么这句话不行? 
     } public void setValueAt(Object value ,int row,int col){
         if( col < 4){
          if(value instanceof String){
            Data[row][col] =(String) value ;
        //为什么这句出错信息老是java.lang.NullPointorException
        } 
         }
        fireTableChanged(……);
       }  public void getSource(){
       BAreaRemote tmpArea = null;
       Integer interid = null ;  
       int i= 0 ;   int j = 0 ; 
       try{  
         BAreaRemoteHome theHome = getHome();
         Collection cll =theHome.findAllArea() ;
         Iterator it = cll.iterator() ;
         while(it.hasNext() ){   
          i++ ;
          tmpArea =(BAreaRemote)it.next() ;
          interid =(Integer)tmpArea.getPrimaryKey() ;
          tmpArea = theHome.findByPrimaryKey(interid) ;
          this.sID = tmpArea.getSID() ;
          this.sName = tmpArea.getSName() ;
          this.sCode = tmpArea.getSCode() ;
         //这段查找记录试过是成功的
          setValueAt(this.sID,i,1);  
          setValueAt(this.sName,i,2);
          setValueAt(this.sCode,i,3)  // 出错 
           }  
         }catch(Exception e){ 
        e.printStackTrace() ; 
       } 
      }  
    }
      

  9.   

    setValueAt()方法是当你修改JTABLE内容的时候JVM来调用的,改变Model里的相应内容。你在初始化填充JTABLE的时候没有必要调用setValueAt()方法。你直接把表格数据封装成Object[][],把表头数据封装成String[],然后调用Jtable.setDataVector()方法就完成了JTABLE的数据填充工作。super(data,columnName);这里的columnName是一个数组,就是表头,需要你定义。
      

  10.   

    但是这个数据是从实体Bean里面一条一条,一个字段一个字段读出来的,怎么样把它一点点追加到data[][]里面呢?
      

  11.   

    用两个循环不就行了??? ------------------------------------------------------
               我们还年轻牛奶会有的奶牛也会有的 
                 可天天在 csdn 混这些会有吗 ??
      

  12.   

    用嵌套循环不就行了??? ------------------------------------------------------
               我们还年轻牛奶会有的奶牛也会有的 
                 可天天在 csdn 混这些会有吗 ??
      

  13.   

    比如
    String[][] data={{"as","ass","ass"},{"asa","asasd","sasd"},{"wer","ewe","wew"},……  ……  ……}  如何在它后面再追加一个{"df","rer","ssre" }怎么加呀?  
      

  14.   

    public Vector getTableData(){
        Vector line = new Vector(10,10) ;
        Vector tmp =new Vector(10,10) ;
        BAreaRemote tmpArea =null;
        Integer interid  ;
        String sID,sName,sCode;
        int i=0;
        try{
          BAreaRemoteHome theHome = getHome();
          Collection cll =theHome.findAllArea() ;
          Iterator it = cll.iterator() ;
          while((it!=null) && (it.hasNext()) ){
           i++ ;
           System.out.println("第 "+i+" 个 记录:") ;
           tmpArea =(BAreaRemote)it.next() ;
           interid =(Integer)tmpArea.getPrimaryKey() ;
           tmpArea = theHome.findByPrimaryKey(interid) ;
           sID = tmpArea.getSID() ;
           sName = tmpArea.getSName() ;
           sCode = tmpArea.getSCode() ;
           System.out.println("sID = "+sID+" , sName = "+sName+" , sCode = "+sCode ) ;
           line.add(sID) ;
           line.add(sName) ;
           line.add(sCode ) ;
           tmp.add(line) ;
           }
        }catch(Exception e){
          e.printStackTrace() ;
        }
        return tmp;
      }
      

  15.   

    public DefaultTableModel model = new DefaultTableModel();
      private JTable jTable1 = new JTable();
      private Vector table = new Vector(10,10);
      private Vector columnName = new Vector(10,10);private void jbInit() throws Exception  {//处理Table
       columnName.add("区域代码") ;
        columnName.add("区域名称") ;
        columnName.add("快捷码") ;
        this.table = getTableData();
        model.setDataVector(this.table,columnName);    jTable1.setModel(model);
    }
      

  16.   

    奇怪,为什么查出来有36条记录,都用system.out写出来了,  可是在Table里面显示的36条却全部都是第一条记录的信息,为什么?