下部分。。
-----------------------------------------
private class MoveAction implements ActionListener {      public void actionPerformed(ActionEvent e) {
      
       Object object=e.getSource();
       try{
       boolean b=result.next();
            result.last();
           int i=result.getRow();
          }catch(SQLException ex)
          {          }
                 
       if((JButton)object==theFirst)
       {
       try{
          if((i>=1)) {result.absolute(1);}
              }catch(SQLException ex)
               {                  }
      
       }
       if((JButton)object==theNext)
       {
       try{      
       int j=result.getRow();
       if(j<=i)
       {
        result.absolute(i+1);
           }
       }catch(SQLException ex)
       {                        }
      
       }
        if((JButton)object==theForward)
        {
         try
         {
            int j=result.getRow();
            if (j>1)
            {
          result.absolute(j-1);
             }
            }catch(SQLException ex)
            {             }
            
        }
       }
        
      int i;
    }
    ////end moveAction  private class OperateAction implements ActionListener {
      
       public void actionPerformed(ActionEvent e) 
       {
         
         Object object=e.getSource();
         if((JButton)object==theInsert)
         {
          if(((JButton)object).getText().equals("insert"))
          {
          casingID.setText("");
          casingID.setEditable(true);
          casingName.setText("");
          casingName.setEditable(true);
          theFirst.setEnabled(false);
          theNext.setEnabled(false);
          theForward.setEnabled(false);
          theChange.setEnabled(false);
          ((JButton)object).setText("return");
          theDelete.setText("cancel");
            }
         
           
           else if(((JButton)object).getText().equals("return"))
            {
             casingID.setEditable(false);
             casingName.setEditable(false);
             theFirst.setEnabled(true);
             theNext.setEnabled(true);
             theForward.setEnabled(true);
             theChange.setEnabled(true);
             ((JButton)object).setText("insert");
             theDelete.setText("delete");
            
            try
          {   String id=casingID.getText();
              String sphone=casingName.getText();
             //i have not check the input logic.
              result.moveToInsertRow();
              result.updateString("name",id);
              result.updateString("phone",sphone);
              result.insertRow();
              result.moveToCurrentRow();
              //????
            
              
             }catch(SQLException ex)
            {     //I have omit...  
                                     }
            
           }
           
         }
        else if((JButton)object==theChange)
         {
          if(((JButton)object).getText().equals("change"))
          {
             casingName.setEditable(true);
             theFirst.setEnabled(false);
             theNext.setEnabled(false);
             theForward.setEnabled(false);
             theInsert.setEnabled(false);
             ((JButton)object).setText("return");
             theDelete.setText("cancel");
            }
            else 
            {
             casingID.setEditable(false);
             casingName.setEditable(false);
             theFirst.setEnabled(true);
             theNext.setEnabled(true);
             theForward.setEnabled(true);
             theInsert.setEnabled(true);
             ((JButton)object).setText("change");
             theDelete.setText("delete");
            
             try
             {
             String sphone=casingName.getText();
                 result.updateString("phone",sphone);
                 result.insertRow();
              }catch(SQLException ex)
              {                         }
            
            
            }
         
         }
       else if((JButton)object==theDelete)
         {
          if(((JButton)object).getText().equals("delete"))
          {
          try{
          result.deleteRow();
         
              }catch(SQLException ex)
              {
               System.out.println(ex.toString());
              }
          }
          else
          {
          casingID.setEditable(false);
             casingName.setEditable(false);
             theFirst.setEnabled(true);
             theNext.setEnabled(true);
             theForward.setEnabled(true);
             theChange.setEnabled(true);
             theInsert.setEnabled(true);
             theChange.setText("change");
             theInsert.setText("insert");
             ((JButton)object).setText("delete");
            }
            
         }
      }
    }   
  
        
        
    private JPanel northpanel;
    private JPanel southpanel;
    private JScrollPane scrollPane;
    
    private JTextField casingID;
    private JTextField casingName;
    
    private JButton theFirst;
    private JButton theNext;
    private JButton theForward;
    private JButton theInsert;
    private JButton theChange;
    private JButton theDelete;
    
    private ResultSet result;
    private ResultSetTableModel model;
    private JTable table;
    private Connection con;
    private Statement stmt;
    
  }

解决方案 »

  1.   

    你可以COPY 下来,运行一下在看,不过要记得建立ACCESS的数据表格
      

  2.   

    第一个可能要,通过事件处理,通过添加,双击事件让nameTextField and phoneTextField输出来,用settext();
    第二个看不懂你写的什么!!!
      

  3.   

    2>就是你按了一下TABLE中的一行,就会有一条被选中的行(显示跟其他行不同),
    然后,你按NEXT按钮,这个被选中行会移动到下一条记录,直到最后一条。
      

  4.   

    老兄 下次记得多写几行注释 !!!====================
    >我在ACCESS下建立了一个名class表文件,DB名MyClass,这个程序本生编译没问题,执行时按return 提交后,JTable数据和ACCESS不能同步,要下次启动程序才看的到上次的结果。你 连接数据库 并填充表格 的部分 是写在了 MyThreeProgram 的构造函数里面
    构造函数只会被执行一次
    而且 JTable 不会那么聪明的 每次都帮你检查 数据库是否被改动过
    所以 如果你的代码中有 更新数据库的内容的话(没有仔细看你的代码)
     必须在更新数据库后 重新 连接数据库 并填充表格
    建议你把 连接数据库 并填充表格 这一部分写成一个函数 便于调用====================
    1>JTABLE 比如说只有(name 和phone)列属性,当我双击JTable中的一行数据时,它这行的值怎么样才可以传到我的输入筐nameTextField and phoneTextField里面来!!!int row = table.getSelectedRow();
    nameTextField.setText((String)table.getValueAt(row,0)); //第一列
    phoneTextField.setText((String)table.getValueAt(row,1));//第二列====================
    >怎么样让JTable里的被选中行(高亮部分)在JTalbe里移动,其实我是想:通过按钮,JTable中被选中行可以跳到下一个。int NextRow = jTable1.getSelectedRow() + 1;
    jTable1.setRowSelectionInterval(NextRow, NextRow);