import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.util.*;
import javax.swing.table.DefaultTableModel;public class AddClassJinternal extends JInternalFrame implements ActionListener
{ JPanel jpanel_c=null;
JButton jbutton_add=null;

JButton jbutton_change=null;
JButton jbutton_remove=null;
JDesktopPane desktopPane = null;
Jclasstable jtabel=null; String name=null;
  public AddClassJinternal(String title,String name,JDesktopPane desktopPane)
{ super(title,true,true,true,true);
super.setSize(500,400);
super.setName(name);
        this.setMaximizable(true);
    jtabel=new Jclasstable(); 
//jpanel_w=new JScrollPane();
jpanel_c=new JPanel();
jbutton_add=new JButton("添加");
jbutton_change=new JButton("修改");
jbutton_remove=new JButton("删除");

jbutton_add.addActionListener(this);
jbutton_change.addActionListener(this);
jbutton_remove.addActionListener(this);

Container container=super.getContentPane();

container.add(jtabel,BorderLayout.CENTER);
jpanel_c.add(jbutton_add);
jpanel_c.add(jbutton_change);
jpanel_c.add(jbutton_remove);
container.add(jpanel_c,BorderLayout.SOUTH);

this.desktopPane = desktopPane;
}

public void actionPerformed(ActionEvent e)
{
if(e.getActionCommand()=="添加")
{
   JInternalFrame[] frames = this.desktopPane.getAllFrames();
     boolean isExisted = false;
    
    System.out.println ("系统运行添加。。");
    
     for(int i=0;i<frames.length;i++)
     {
    
     if (frames[i].getName().equals("ClassJiner"))
        {  
        isExisted = true;
          break;
        }
     }
     if(isExisted)
     {
    
     JOptionPane.showMessageDialog(this,"对不起!你点击的窗体已经存在","错误提示",JOptionPane.ERROR_MESSAGE);
     }
     else    
    {
    String id="0";
         ClassJiner ClassJiner=new ClassJiner("添加用户信息","ClassJiner",this.desktopPane,this.jtabel,id);
 this.desktopPane.add(ClassJiner);
 ClassJiner.setVisible(true);
     }
 }
else if(e.getActionCommand()=="修改")
{
 int row=-1;  

 row=jtabel.table.getSelectedRow();
   

 JInternalFrame[] frames = this.desktopPane.getAllFrames();
     boolean isExisted = false;
    
     for(int i=0;i<frames.length;i++)
     {
    
     if (frames[i].getName().equals("amend"))
        {  isExisted = true;

        }
     }
     if(row==-1)
     {
     JOptionPane.showMessageDialog(this,"对不起你没选择表格信息","错误提示",JOptionPane.ERROR_MESSAGE);
     }
     else
     if(isExisted)
     {
       
     JOptionPane.showMessageDialog(this,"对不起!你点击的窗体已经存在","错误提示",JOptionPane.ERROR_MESSAGE);
     }
     else
    {
       
        
          String id= (String)jtabel.tableModel.getValueAt(row,0);
      
     
     
         ClassJiner amend=new ClassJiner("修改用户信息","amend",this.desktopPane,this.jtabel,id);
     this.desktopPane.add(amend);
 amend.setVisible(true);
     }

}
else if(e.getActionCommand()=="删除")
{
 int row=-1;

 row=jtabel.table.getSelectedRow();

 JInternalFrame[] frames = this.desktopPane.getAllFrames();
     boolean isExisted = false;
    
     for(int i=0;i<frames.length;i++)
     {
    
     if (frames[i].getName().equals("delete"))
        { 
  isExisted = true;
        }
     }
     if(row==-1)
     {
     JOptionPane.showMessageDialog(this,"对不起你没选择表格信息","错误提示",JOptionPane.ERROR_MESSAGE);
     }
     else
     if(isExisted)
     {
       
     JOptionPane.showMessageDialog(this,"对不起!你点击的窗体已经存在","错误提示",JOptionPane.ERROR_MESSAGE);
     }
     else
    {
        
        
          String id= (String)jtabel.tableModel.getValueAt(row,0);
         
     
     
         ClassJiner delete=new ClassJiner("删除用户信息","delete",this.desktopPane,this.jtabel,id);
     this.desktopPane.add(delete);
 delete.setVisible(true);
     }

}
}

}/**
 *此类就是把数据庫中的内容用表格显示在主界面上。
 *
 */
class Jclasstable extends JScrollPane 
{
JTable table = null;
DefaultTableModel tableModel = null;

public Jclasstable()
{
try
{

   JDBCconnect jdbc=JDBCconnect.getInstance();

   Vector data=jdbc.executeQuery("select * from 班级管理");
   Vector columnNames=jdbc.getColumnNames("select * from 班级管理");
  

  tableModel=new DefaultTableModel(data,columnNames);
  
  table=new JTable(tableModel);
  
  //
  this.getViewport().setView(table);
 
}
catch(Exception e)
{
e.printStackTrace();
}
    }
    
    
    public void reload() throws Exception
{
JDBCconnect jdbc = JDBCconnect.getInstance();
//获取查询的结果
Vector data = jdbc.executeQuery("select * from 班级管理");
//获取查询的结果的列名
Vector columnNames = jdbc.getColumnNames("select * from 班级管理");

tableModel.setDataVector(data,columnNames);
}
    
    
 
}

解决方案 »

  1.   

    /**
     *此类就是你点击添加或者修改,删除之后出来的子界面。
     *
     */
    class ClassJiner extends JInternalFrame implements ActionListener
    {
    JLabel jclass_id=null;
    JLabel jclass_name=null;
    JLabel jclass_number=null;
    JLabel class_description=null;

    JTextField fclass_id=null;
    JTextField fclass_name=null;
    JTextField fclass_number=null;
        JTextArea fclass_description=null;
        JScrollPane jscrollpane=null;

    int number=0;

    JButton jok=null;
    JButton jcancel=null;
    Jclasstable Jclasstable=null;
    JDesktopPane jdp = null;
    JDBCconnect jdbc =null; public ClassJiner(String title,String name,JDesktopPane jdp,Jclasstable Jclasstable,String number)
    {
    super(title,true,true,false,true);
    super.setSize(200,300);
    super.setName(name);


    this.number=Integer.parseInt(number);
    JPanel jpanel1=new JPanel();
    JPanel jpanel2=new JPanel();
    JPanel jpanel3=new JPanel();
    JPanel jpanel4=new JPanel();
    JPanel jpanel5=new JPanel();

    jclass_id=new JLabel("班级编号");
    jclass_name=new JLabel("班级名称");
    jclass_number=new JLabel("班级人数");
    class_description=new JLabel("用户级别");

    fclass_id=new JTextField(10);
    fclass_name=new JTextField(10);
    fclass_number=new JTextField(10);
    fclass_description=new JTextArea(3,10);

      

        jscrollpane=new JScrollPane(fclass_description);

    jok=new JButton("确定");
    jcancel=new JButton("取消");

    jok.addActionListener(this);
    jcancel.addActionListener(this);

    jpanel1.add(jclass_id);
    jpanel1.add(fclass_id);
    jpanel2.add(jclass_name);
    jpanel2.add(fclass_name);
    jpanel3.add(jclass_number);
    jpanel3.add(fclass_number);
    jpanel4.add(class_description);
    jpanel4.add(jscrollpane);
    jpanel5.add(jok);
    jpanel5.add(jcancel);

    Container container=super.getContentPane();
    super.setLayout(new GridLayout(5,1));
    container.add(jpanel1);
    container.add(jpanel2);
    container.add(jpanel3);
    container.add(jpanel4);
    container.add(jpanel5);
    this.reloadClassJiner(this.number);
    try
          {
            jdbc = JDBCconnect.getInstance();
          }
         catch(Exception e)
          {
            e.printStackTrace();
          }   

    this.jdp=jdp;
    this.Jclasstable=Jclasstable;

    }public void actionPerformed(ActionEvent e)
    {
    String framName=this.getName();

     if(framName.equals("ClassJiner"))  
     {
        if(e.getActionCommand()=="确定")
    {
                boolean bool=true;
    String id=fclass_id.getText();
        String name=fclass_name.getText();
        String number=fclass_number.getText();
        String description=fclass_description.getText();
            bool= this.validata();
        String sql=null;
            sql="insert into 班级管理 values("+Integer.parseInt(id)+",'"+name+"','"+number+"','"+description+"')";   
            System.out.println (sql);
            if(bool==true)
    {     try{
       int i=jdbc.execute(sql);
       if(i>0)
       {
            clear();
        Jclasstable.reload();
       }
       
       else
      {
       JOptionPane.showMessageDialog(this,"插入失败","信息",JOptionPane.ERROR_MESSAGE);
      }
        }
     catch(Exception en)
     {
      JOptionPane.showMessageDialog(this,"添加失败可能存在相同的编号和班名","信息",JOptionPane.ERROR_MESSAGE);
     } 
    }
    }  
    else
    {
    this.dispose();
    }  
      }
      
      
      if(framName.equals("amend"))
      {
        if(e.getActionCommand()=="确定")
        {
         boolean bool=true;
        
           bool=this.validata();
        
      
         String id=fclass_id.getText();
        String name=fclass_name.getText();
        String number=fclass_number.getText();
        String description=fclass_description.getText();
      
         String sql="update 班级管理 set class_id="+Integer.parseInt(id)+",class_name='"+name+"',class_number='";
         sql=sql+number+"',class_descriptionr='"+description+"' where class_id="+this.number;
         System.out.println (sql);
         if(bool==true)
     {      try{   
              JDBCconnect  jdbc = JDBCconnect.getInstance();
              int i=jdbc.execute(sql);
               if (i<1)
               {
                 JOptionPane.showMessageDialog(this,"信息修改失败","错误",JOptionPane.ERROR_MESSAGE);  
               }
               else
               {
                     clear();
                Jclasstable.reload();
               
               }
               
              }
           catch(Exception en)
              {
                   JOptionPane.showMessageDialog(this,"修改失败可能存在相同的编号和班名","信息",JOptionPane.ERROR_MESSAGE);
              }  
         }
        
        }
        
        else
         {
           this.dispose();
         }
       
     }
      
      if(framName.equals("delete")) 
     {
       String id=fclass_id.getText();
       
       if(e.getActionCommand()=="确定")
       {
       try{
        String sql="delete 班级管理 where class_id="+Integer.parseInt(id);
        JDBCconnect  jdbc = JDBCconnect.getInstance();
              int i=jdbc.execute(sql);
             
              if (i<1)
               {
                 JOptionPane.showMessageDialog(this,"信息修改失败","错误",JOptionPane.ERROR_MESSAGE);  
               }
               else
               {
                Jclasstable.reload();
                     clear();
               }
               }
           catch(Exception en)
              {
                en.printStackTrace();
              }   
             
            }
            else
            {
             this.dispose();
            }
            
     }
      
      
      
    }

      

  2.   

    /**
     *该函数用于初开始化ClassJiner窗体的信息
     */
     public void reloadClassJiner(int number)
     {
      String framName=this.getName();
      String sql="select * from 班级管理 where class_id="+number;
      System.out.println (sql);
      String string[]=new String[4];
     
      try
          {
            jdbc = JDBCconnect.getInstance();
             Vector vector=jdbc.executeQuery(sql);
             for(Iterator it1= vector.iterator(); it1.hasNext(); )
    {

    Vector aLine = (Vector)it1.next();
    int i=0;
    for(Iterator it2 = aLine.iterator(); it2.hasNext(); )
    {
    String str = (String)it2.next();
    string[i]=str;
    i++;
    System.out.print(str + "  ");
    }
    System.out.println("");
    }
    System.out.println("Row Count:" + vector.size());
     }
        catch(Exception e)
          {
            e.printStackTrace();
          }   
          
        fclass_id.setText(string[0]);
        fclass_name.setText(string[1]);
        fclass_number.setText(string[2]);
        fclass_description.setText(string[3]);
        
       
        if(framName.equals("delete"))
        {
          
         fclass_id.setEditable(false);
         fclass_name.setEditable(false);
         fclass_number.setEditable(false);
         fclass_description.setEditable(false);  
     
        }  } /**
     * 该函数用来清除文本框中的信息
     */
    public void clear()
    {
       System.out.println ("正在清空中");
       fclass_id.setText("");
       fclass_name.setText("");
       fclass_number.setText("");
       fclass_description.setText("");
    }
    /**
     *  该函数用于验证用户输入的信息
     */
    public Boolean validata()
    {
        String name=fclass_name.getText();
        String number=fclass_number.getText();
        String description=fclass_description.getText();
         
        String id=fclass_id.getText();
        if(id.equals(""))
        {
        JOptionPane.showMessageDialog(this,"编号不能为空","错误",JOptionPane.ERROR_MESSAGE);
        return false;
        }
        else
        {
            try
            {
        int m=Integer.parseInt(id);
        if(name.equals(""))
        {
        JOptionPane.showMessageDialog(this,"编号不能为空","错误",JOptionPane.ERROR_MESSAGE);
        return false;
        }
        else
        {
               try{
                    int mm=Integer.parseInt(number);
                  }
           catch(Exception en)
              {
                   JOptionPane.showMessageDialog(this,"人数必须是数字形","错误",JOptionPane.ERROR_MESSAGE);
                   return false;
              }
       
        if (description.equals("     "))
        {
        JOptionPane.showMessageDialog(this,"密码不能为空","错误",JOptionPane.ERROR_MESSAGE);
        return false;
        }
        else
        { 
          return true;
        }
       
        }
             }
        catch(Exception e)
        {
          JOptionPane.showMessageDialog(this,"编号必须为数值型","错误",JOptionPane.ERROR_MESSAGE);
          return false;
        }        
        }
         }
       
       
       
    }
       D:\Project\Main\src\AddClassJinternal.java:341: incompatible types
    found   : java.lang.Boolean
    required: boolean
            bool= this.validata();
                                       ^
    D:\Project\Main\src\AddClassJinternal.java:378: incompatible types
    found   : java.lang.Boolean
    required: boolean
           bool=this.validata();
                                          ^
    D:\Project\Main\src\AddClassJinternal.java:543: incompatible types
    found   : boolean
    required: java.lang.Boolean
        return false;
                                   ^
    D:\Project\Main\src\AddClassJinternal.java:553: incompatible types
    found   : boolean
    required: java.lang.Boolean
        return false;
                                                   ^
    D:\Project\Main\src\AddClassJinternal.java:563: incompatible types
    found   : boolean
    required: java.lang.Boolean
                   return false;
                                                      ^
    D:\Project\Main\src\AddClassJinternal.java:569: incompatible types
    found   : boolean
    required: java.lang.Boolean
        return false;
                                                           ^
    D:\Project\Main\src\AddClassJinternal.java:573: incompatible types
    found   : boolean
    required: java.lang.Boolean
          return true;
                                                           ^
    D:\Project\Main\src\AddClassJinternal.java:581: incompatible types
    found   : boolean
    required: java.lang.Boolean
          return false;
                                     ^
    8 errors