1“但是我想在用程序向数据库中添加数据后,jtable中的数据立刻更新不知道应该如何做”
用mvc设计模式,添加数据后通知jtable更新。2“如果处理行选中啊,并把选中的行数据提取出来。”
为jtable加个单击侦听器,取得行号,和记录id,
动态生成一个form修改
你用的什么ide啊???
jbuilder自己带很好的组件
还有 jclass,我没有搞到盗版的

解决方案 »

  1.   

    我也在作类似的东西,看很多书都没有可以利用的例子,应该是需要重新刷新的.至于选中行应该不是很难.你的tablemodel中需要相应的处理,实现AbstractTableModel中getcolumn,getrow,getvalue等方法
      

  2.   

    很上时间没有用tablemodel了,具体记不太清。
    需要自己手动更新的(可以调用相应的函数),好像是entity provider和entity resolver.
    其实你上网找资料和在这里问不如自己差jb的帮助,有例子的。
      

  3.   

    我以前做过这样的一个如下://刷新表格内容
    public void refreshTableView(Vector data){
    rows=data;
        TableModel dataModel = new AbstractTableModel() {
        public int getColumnCount() { 
                 return names.length; 
                }
                public int getRowCount() { return rows.size();}
                
                public Object getValueAt(int row, int col) {
                 Vector row1 = (Vector)rows.elementAt(row);
             return row1.elementAt(col);
                }
                
                public String getColumnName(int column) {
                 return names[column];
                }
                
                public Class getColumnClass(int c) {
                 return getValueAt(0, c).getClass();
                }
        
         public boolean isCellEditable(int row, int col) {
         return false;
                           //这里可以自已动手写
         }
                
                public void setValueAt(Object aValue, int row, int column) { 
                
                  Vector dataRow = (Vector)rows.elementAt(row);
             dataRow.setElementAt(aValue, column);
                 }
             
             
             };
          tableView.setModel(dataModel);
        
        
    }

    names为数据表列名:
    data就不用多说了吧;rows

      

  4.   

    你说的方法不懂。
    public void refreshTableView(Vector data){
    rows=data;
        TableModel dataModel = new AbstractTableModel() {
        public int getColumnCount() { 
                 return names.length; 
                }
    而且系统提示:javax.swing.table.AbstractTableModel is abstract cannot be instantiate
      

  5.   

    AbstractTableModel是个抽象类,
    你的代码没有写完整
    new AbstractTableModel() {
        public int getColumnCount() { 
                 return names.length; 
                }
                public int getRowCount() { return rows.size();}
                
                public Object getValueAt(int row, int col) {
                 Vector row1 = (Vector)rows.elementAt(row);
             return row1.elementAt(col);
                }
                
                public String getColumnName(int column) {
                 return names[column];
                }
                
                public Class getColumnClass(int c) {
                 return getValueAt(0, c).getClass();
                }
        
         public boolean isCellEditable(int row, int col) {
         return false;
                           //这里可以自已动手写
         }
                
                public void setValueAt(Object aValue, int row, int column) { 
                
                  Vector dataRow = (Vector)rows.elementAt(row);
             dataRow.setElementAt(aValue, column);
                 }
             
             
             };
        
      

  6.   

    我也差不多是这么写的,你没年看懂我的要求,我是说在我添加数据的时候jtable动态更新.
      

  7.   

    添加数据的时候调用
    fireTableDataChanged
      

  8.   

    bbscbb(shuchang)我试过了,更新不了。
      

  9.   

    我使用DefaultTableModel的时候不需要fireTableDataChanged。
    我一般是生成新的Model对象放到JTABLE里。所以总能更新。