swing-一段代码,调试很久没调试出来,求帮忙,哪里出了问题

问题描述

一段代码,调试很久没调试出来,求帮忙,哪里出了问题

一段代码,调试很久没调试出来,求帮忙,哪里出了问题,代码贴在下面

解决方案

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

class mywork
{

//定义下列变量是为了重复书写时更方便。
private String driver="com.mysql.jdbc.Driver";
private String url="jdbc:mysql://127.0.0.1:3306/technology";
private String user="root";
private String pass="root";

JFrame jfMajor;        //主界面
Dialog dEnter1,dRegister1,dFunction;      //定义:第一个登录弹窗,第一个注册弹窗,以及功能弹窗
JButton jbLogin,jbRegister;       //主界面的登录、注册按钮
JButton jbEnsure1,jbCanel1,jbEnsure2,jbCanel2,jbEnsure3;   //三组   “确定、取消” 按钮
JButton jbInquire,jbInsert,jbDelete;           //登录成功界面后的  “查询、插入、删除”按钮
JLabel jlTitle,jlUser,jlPass;     //标签:主标题标签、用户名标签、密码标签
TextField tfUser;         //账号  输入框
JPasswordField tfPass;    //密码  输入框

mywork()                   //mywork类的构造方法,new一个对象时自动调用
{
    init();
}

public void init()
{
    //连接数据库的必备语句
    try {
        Class.forName(driver);
    } catch (ClassNotFoundException e1) {
        e1.printStackTrace();
    }

    //创建主登录界面
    jfMajor=new JFrame();
    jlTitle=new JLabel("江西农业大学三检工作系统");  //设置主标题
    jbLogin=new JButton("登陆");
    jbRegister=new JButton("注册");

    jfMajor.setVisible(true);
    jfMajor.setBounds(400,200,400,300);
    jfMajor.setLayout(null);
    jfMajor.setResizable(false);
    jbLogin.setBounds(110,130,70,30);
    jbRegister.setBounds(200,130,70,30);
    jlTitle.setBounds(110,70,200,50);

    jfMajor.add(jbLogin);
    jfMajor.add(jbRegister);
    jfMajor.add(jlTitle);

    dEnter1=new Dialog(jfMajor,"用户登陆",true);
    dRegister1=new Dialog(jfMajor,"用户注册",true);
    dFunction=new Dialog(jfMajor,"登陆成功",true);

    //不同界面的 “确定、取消” 按钮
    jbEnsure1=new JButton("确定");
    jbEnsure2=new JButton("确定");
    jbEnsure3=new JButton("确定");
    jbCanel1=new JButton("取消");
    jbCanel2=new JButton("取消");   

    //查询按钮
    jbInquire=new JButton("查询");

    myEvent();    //监听事件
}

//所有事件的监听器都放在这个方法中
public void myEvent() {

    jfMajor.addWindowListener(new WindowAdapter() {             //主登录窗口退出   事件监听
        public void windowClosing(WindowEvent e) {
            System.exit(0);
        }
    });

    dFunction.addWindowListener(new WindowAdapter() {           //功能弹窗界面退出  事件监听
        public void windowClosing(WindowEvent e) {
            dFunction.setVisible(false);
        }
    }); 

    dEnter1.addWindowListener(new WindowAdapter() {             //第一个登录界面退出  事件监听
        public void windowClosing(WindowEvent e) {
            dEnter1.setVisible(false);
        }
    });

    dRegister1.addWindowListener(new WindowAdapter() {              //第一个注册界面退出  事件监听
        public void windowClosing(WindowEvent e) {
            dRegister1.setVisible(false);
        }
    });

    jbEnsure1.addActionListener(new ActionListener() {          //确认按钮的的点击 事件监听
        public void actionPerformed(ActionEvent e) {                //点击后,运行指定方法
            //StudentLogin();
            ManagerLogin();
        }
    });

    jbEnsure2.addActionListener(new ActionListener() {          //确认按钮的点击  事件监听
        public void actionPerformed(ActionEvent e) {                //点击后,运行指定方法
            Register();
        }
    });

    jbEnsure3.addActionListener(new ActionListener() {          //确认按钮的点击 事件监听
        public void actionPerformed(ActionEvent e) {                //点击后,将第一个注册界面隐藏
            dRegister1.setVisible(false);
        }
    });

    jbCanel1.addActionListener(new ActionListener() {           //取消按钮的点击  事件监听
        public void actionPerformed(ActionEvent e) {                //点击后,隐藏第一个登录界面
            dEnter1.setVisible(false);
        }
    });

    jbCanel2.addActionListener(new ActionListener() {           //取消按钮的点击  事件监听
        public void actionPerformed(ActionEvent e) {                //点击后,隐藏第一个注册界面
            dRegister1.setVisible(false);
        }
    });

    jbLogin.addActionListener(new ActionListener() {                //登录按钮的点击  事件监听
        public void actionPerformed(ActionEvent e) {                    //点击后,运行指定方法
            Login();
        }
    });

    jbRegister.addActionListener(new ActionListener() {         //注册按钮的点击  事件监听                                                               //点击后,运行指定方法
        public void actionPerformed(ActionEvent e) {                //点击后,运行指定方法
            Register();
        }
    });
}

//当点击第一个登录界面的确定按钮,输入的正确账号为学生账号时,运行该方法
//该方法的功能为:验证输入的账号密码是否正确(学生),如正确,则弹出功能弹窗
public void StudentLogin() {
    dEnter1.setVisible(false);         

    dFunction.setBounds(470,240,260,230);
    jbInquire.setBounds(70,90,100,40);
    dFunction.setLayout(null);

    dFunction.add(jbInquire);
    dFunction.setResizable(false);
    dFunction.setVisible(true);
}

//当点击第一个登录界面的确定按钮,输入的正确账号为管理员账号时,运行该方法
//该方法的功能为:验证输入的账号密码是否正确(管理员),如正确,则弹出功能弹窗
public void ManagerLogin() {
    dEnter1 = new Dialog(jfMajor,"用户登录",true);

    //拿到输入框中的账号密码
    String z_user=String.valueOf(tfUser.getText());
    String z_pass=String.valueOf(tfPass.getText());

    //将输入框设置为空,方便下一次的输入
    tfUser.setText("");
    tfPass.setText("");

    Connection conn = null;
    PreparedStatement psta=null;
    ResultSet rs = null;

    //这个sql语句的作用是将输入框中的账号进行检验,如果存在,就把这个账号对应的账号密码以表格的形式调出
    String sql = "select r_account,r_password from register where r_account = ?";

    //如果账号或者密码有一个输入框为空,则提示后重新输入
    if(z_user.equals("")||z_pass.equals("")) {
        JOptionPane.showMessageDialog(dEnter1,"登录密码或账户不能为空!!!!","警告,提醒!!!",JOptionPane.INFORMATION_MESSAGE);
        tfUser.setText("");
        tfPass.setText("");
    }

    else {
        try {       //如果账号密码都有输入,则连接数据库进行判断
            conn=DriverManager.getConnection(url,user,pass);
            psta=conn.prepareStatement(sql);
            psta.setString(1,z_user);
            rs=psta.executeQuery();

            //判断输入框输入的账号是否在数据库中存在,如果存在,则调出该账号对应的密码,与输入的密码进行判断
            if(rs.next()) {
                if(z_pass.equals(rs.getString(2))) {          //rs.getString(2) ,根据前面的那个sql语句,r_password是第二个参数,故getString(2),拿出密码
                    tfUser.setText("");
                    tfPass.setText("");
                    //若密码也验证通过,提示登录成功,完成相应界面
                    JOptionPane.showMessageDialog(dEnter1,"登录成功");
                    dEnter1.setVisible(false);                           //登录成功后,将第一个登录界面隐藏

                    //功能界面的完成
                    jbInquire=new JButton("查询");
                    jbInsert=new JButton("插入");
                    jbDelete=new JButton("删除");
                    dFunction.setBounds(470,240,260,230);
                    jbInquire.setBounds(70,50,100,40);
                    jbInsert.setBounds(70,100,100,40);
                    jbDelete.setBounds(70,150,100,40);
                    dFunction.setLayout(null);
                    dFunction.add(jbInquire);
                    dFunction.add(jbInsert);
                    dFunction.add(jbDelete);
                    dFunction.setResizable(false);
                    dFunction.setVisible(true);
                }
                else {     //若密码验证不通过,则进行相应提示
                    JOptionPane.showMessageDialog(dEnter1,"密码输入错误!!!","提醒!!警告!!!",JOptionPane.ERROR_MESSAGE);
                }
            }

            else {     //若一开始的账号验证就没有通过,同样进行相应提示
                JOptionPane.showMessageDialog(dEnter1,"用户名不存在,请重新输入或注册一个账户!!!","提醒!!!",JOptionPane.INFORMATION_MESSAGE);
                tfUser.setText("");
                tfPass.setText("");
            }

        } catch(SQLException e) {
            e.printStackTrace();
        } finally {
            try {
                if(rs != null) {
                    rs.close();
                }
                if(psta != null) {
                    psta.close();
                }
                if(conn != null) {
                    conn.close();
                }
            }catch(SQLException e) {
                e.printStackTrace();
            }
        }

    }
}

//此方法为当点击主界面的登录按钮后,需响应的方法
//主要功能为完成第一个登录界面
public void Login() {
    jlUser=new JLabel("用户名");
    jlPass=new JLabel("密    码");
    tfUser=new TextField();
    tfPass=new JPasswordField();

    tfPass.setEchoChar('*');
    tfUser.setBounds(80,60,120,30);
    tfPass.setBounds(80,100,120,30);
    tfUser.setFont(new Font("宋体",1,20));
    tfPass.setFont(new Font("宋体",1,20));

    jbEnsure1.setBounds(50,150,70,30);
    jbCanel1.setBounds(150,150,70,30);
    jlUser.setBounds(20,60,50,30);
    jlPass.setBounds(20,100,50,30);

    dEnter1.setBounds(470,240,260,230);
    dEnter1.setLayout(null);
    dEnter1.setResizable(false);

    dEnter1.add(jlUser);
    dEnter1.add(jlPass);
    dEnter1.add(jbEnsure1);
    dEnter1.add(jbCanel1);
    dEnter1.add(tfUser);
    dEnter1.add(tfPass);

    dEnter1.setVisible(true);
}

//此方法为当点击第一个注册界面中的确定按钮后,需相应的方法
//此方法的功能为,完场合乎规格的账号的注册,将其写入到数据库中
public void Register() {
    String z_user=String.valueOf(tfUser.getText());
    String z_pass=String.valueOf(tfPass.getText());

    tfUser.setText("");
    tfPass.setText("");

    Connection conn = null;
    PreparedStatement psta=null;
    ResultSet rs = null;
    String sql = null;

    try {
        conn = DriverManager.getConnection(url,user,pass);

        //这个sql语句的功能是判断输入的账号已在数据库中,已被注册
        sql = "select r_account from register where r_account=?";
        psta = conn.prepareStatement(sql);
        psta.setString(1, z_user);
        rs = psta.executeQuery();

        if(rs.next()) {              //若输入的账号已被注册,则进行相应提示,重新输入
            JOptionPane.showMessageDialog(jbEnsure1, "该用户已注册,请重新输入用户名!!",
                    "提醒!",JOptionPane.INFORMATION_MESSAGE);
            tfUser.setText("");
            tfPass.setText("");
        }

        else {       //若账号未被注册
            if(z_pass.length()>=6) {                 //注册账号的密码需不少于6位

                //此sql语句的作用是将满足账号密码  插入到表中
                sql = "insert into register (r_account,r_password) values (?, ?)";
                psta = conn.prepareStatement(sql);
                psta.setString(1,z_user);
                psta.setString(2,z_pass);
                psta.executeUpdate();

                dRegister1.setVisible(false);
                dRegister1=new Dialog(dRegister1, "提示", true);
                jlUser=new JLabel("恭喜您注册成功!");

                dRegister1.setBounds(520, 300, 80, 100);

                dRegister1.add(jlUser);
                dRegister1.add(jbEnsure3);

                dRegister1.setVisible(true);

            }
            else {   //若密码不满足6位
                 JOptionPane.showMessageDialog(jbEnsure1,"密码须大于六位!!!","提醒!",JOptionPane.INFORMATION_MESSAGE);
                    tfUser.setText("");
                    tfPass.setText("");
            }
        }
    }
    catch(SQLException e) {
        e.printStackTrace();
    }
    finally {
        try {
            if(conn != null) {
                psta.close();
            }
            if(psta != null) {
                conn.close();
            }
        } catch(SQLException e) {
            e.printStackTrace();
        }
    }

}

//此方法在点击主登录界面的注册按钮时被调用
//主要功能为完成第一个注册界面
public void dRegister() {

    jlUser=new JLabel("注册名");
    jlPass=new JLabel("密    码");
    tfUser=new TextField();
    tfPass=new JPasswordField();

    tfPass.setEchoChar('*');
    tfUser.setBounds(80,60,120,30);
    tfPass.setBounds(80,100,120,30);
    tfUser.setFont(new Font("宋体",1,20));
    tfPass.setFont(new Font("宋体",1,20));

    jbEnsure2.setBounds(50,150,70,30);
    jbCanel2.setBounds(150,150,70,30);
    jlUser.setBounds(20,60,50,30);
    jlPass.setBounds(20,100,50,30);

    dRegister1.setBounds(470,240,260,230);
    dRegister1.setLayout(null);
    dRegister1.setResizable(false);

    dRegister1.add(jlUser);
    dRegister1.add(jlPass);
    dRegister1.add(jbEnsure2);
    dRegister1.add(jbCanel2);
    dRegister1.add(tfUser);
    dRegister1.add(tfPass);

    dRegister1.setVisible(true);
}

public static void main(String[] args) {
    new mywork();
}

}

解决方案二:

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

class mywork
{

//定义下列变量是为了重复书写时更方便。
private String driver="com.mysql.jdbc.Driver";
private String url="jdbc:mysql://127.0.0.1:3306/technology";
private String user="root";
private String pass="root";

JFrame jfMajor;        //主界面
Dialog dEnter1,dRegister1,dFunction;      //定义:第一个登录弹窗,第一个注册弹窗,以及功能弹窗
JButton jbLogin,jbRegister;       //主界面的登录、注册按钮
JButton jbEnsure1,jbCanel1,jbEnsure2,jbCanel2,jbEnsure3;   //三组   “确定、取消” 按钮
JButton jbInquire,jbInsert,jbDelete;           //登录成功界面后的  “查询、插入、删除”按钮
JLabel jlTitle,jlUser,jlPass;     //标签:主标题标签、用户名标签、密码标签
TextField tfUser;         //账号  输入框
JPasswordField tfPass;    //密码  输入框

mywork()                   //mywork类的构造方法,new一个对象时自动调用
{
    init();
}

public void init()
{
    //连接数据库的必备语句
    try {
        Class.forName(driver);
    } catch (ClassNotFoundException e1) {
        e1.printStackTrace();
    }

    //创建主登录界面
    jfMajor=new JFrame();
    jlTitle=new JLabel("江西农业大学三检工作系统");  //设置主标题
    jbLogin=new JButton("登陆");
    jbRegister=new JButton("注册");

    jfMajor.setVisible(true);
    jfMajor.setBounds(400,200,400,300);
    jfMajor.setLayout(null);
    jfMajor.setResizable(false);
    jbLogin.setBounds(110,130,70,30);
    jbRegister.setBounds(200,130,70,30);
    jlTitle.setBounds(110,70,200,50);

    jfMajor.add(jbLogin);
    jfMajor.add(jbRegister);
    jfMajor.add(jlTitle);

    dEnter1=new Dialog(jfMajor,"用户登陆",true);
    dRegister1=new Dialog(jfMajor,"用户注册",true);
    dFunction=new Dialog(jfMajor,"登陆成功",true);

    //不同界面的 “确定、取消” 按钮
    jbEnsure1=new JButton("确定");
    jbEnsure2=new JButton("确定");
    jbEnsure3=new JButton("确定");
    jbCanel1=new JButton("取消");
    jbCanel2=new JButton("取消");   

    //查询按钮
    jbInquire=new JButton("查询");

    myEvent();    //监听事件
}

//所有事件的监听器都放在这个方法中
public void myEvent() {

    jfMajor.addWindowListener(new WindowAdapter() {             //主登录窗口退出   事件监听
        public void windowClosing(WindowEvent e) {
            System.exit(0);
        }
    });

    dFunction.addWindowListener(new WindowAdapter() {           //功能弹窗界面退出  事件监听
        public void windowClosing(WindowEvent e) {
            dFunction.setVisible(false);
        }
    }); 

    dEnter1.addWindowListener(new WindowAdapter() {             //第一个登录界面退出  事件监听
        public void windowClosing(WindowEvent e) {
            dEnter1.setVisible(false);
        }
    });

    dRegister1.addWindowListener(new WindowAdapter() {              //第一个注册界面退出  事件监听
        public void windowClosing(WindowEvent e) {
            dRegister1.setVisible(false);
        }
    });

    jbEnsure1.addActionListener(new ActionListener() {          //确认按钮的的点击 事件监听
        public void actionPerformed(ActionEvent e) {                //点击后,运行指定方法
            //StudentLogin();
            ManagerLogin();
        }
    });

    jbEnsure2.addActionListener(new ActionListener() {          //确认按钮的点击  事件监听
        public void actionPerformed(ActionEvent e) {                //点击后,运行指定方法
            Register();
        }
    });

    jbEnsure3.addActionListener(new ActionListener() {          //确认按钮的点击 事件监听
        public void actionPerformed(ActionEvent e) {                //点击后,将第一个注册界面隐藏
            dRegister1.setVisible(false);
        }
    });

    jbCanel1.addActionListener(new ActionListener() {           //取消按钮的点击  事件监听
        public void actionPerformed(ActionEvent e) {                //点击后,隐藏第一个登录界面
            dEnter1.setVisible(false);
        }
    });

    jbCanel2.addActionListener(new ActionListener() {           //取消按钮的点击  事件监听
        public void actionPerformed(ActionEvent e) {                //点击后,隐藏第一个注册界面
            dRegister1.setVisible(false);
        }
    });

    jbLogin.addActionListener(new ActionListener() {                //登录按钮的点击  事件监听
        public void actionPerformed(ActionEvent e) {                    //点击后,运行指定方法
            Login();
        }
    });

    jbRegister.addActionListener(new ActionListener() {         //注册按钮的点击  事件监听                                                               //点击后,运行指定方法
        public void actionPerformed(ActionEvent e) {                //点击后,运行指定方法
            Register();
        }
    });
}

//当点击第一个登录界面的确定按钮,输入的正确账号为学生账号时,运行该方法
//该方法的功能为:验证输入的账号密码是否正确(学生),如正确,则弹出功能弹窗
public void StudentLogin() {
    dEnter1.setVisible(false);         

    dFunction.setBounds(470,240,260,230);
    jbInquire.setBounds(70,90,100,40);
    dFunction.setLayout(null);

    dFunction.add(jbInquire);
    dFunction.setResizable(false);
    dFunction.setVisible(true);
}

//当点击第一个登录界面的确定按钮,输入的正确账号为管理员账号时,运行该方法
//该方法的功能为:验证输入的账号密码是否正确(管理员),如正确,则弹出功能弹窗
public void ManagerLogin() {
    dEnter1 = new Dialog(jfMajor,"用户登录",true);

    //拿到输入框中的账号密码
    String z_user=String.valueOf(tfUser.getText());
    String z_pass=String.valueOf(tfPass.getText());

    //将输入框设置为空,方便下一次的输入
    tfUser.setText("");
    tfPass.setText("");

    Connection conn = null;
    PreparedStatement psta=null;
    ResultSet rs = null;

    //这个sql语句的作用是将输入框中的账号进行检验,如果存在,就把这个账号对应的账号密码以表格的形式调出
    String sql = "select r_account,r_password from register where r_account = ?";

    //如果账号或者密码有一个输入框为空,则提示后重新输入
    if(z_user.equals("")||z_pass.equals("")) {
        JOptionPane.showMessageDialog(dEnter1,"登录密码或账户不能为空!!!!","警告,提醒!!!",JOptionPane.INFORMATION_MESSAGE);
        tfUser.setText("");
        tfPass.setText("");
    }

    else {
        try {       //如果账号密码都有输入,则连接数据库进行判断
            conn=DriverManager.getConnection(url,user,pass);
            psta=conn.prepareStatement(sql);
            psta.setString(1,z_user);
            rs=psta.executeQuery();

            //判断输入框输入的账号是否在数据库中存在,如果存在,则调出该账号对应的密码,与输入的密码进行判断
            if(rs.next()) {
                if(z_pass.equals(rs.getString(2))) {          //rs.getString(2) ,根据前面的那个sql语句,r_password是第二个参数,故getString(2),拿出密码
                    tfUser.setText("");
                    tfPass.setText("");
                    //若密码也验证通过,提示登录成功,完成相应界面
                    JOptionPane.showMessageDialog(dEnter1,"登录成功");
                    dEnter1.setVisible(false);                           //登录成功后,将第一个登录界面隐藏

                    //功能界面的完成
                    jbInquire=new JButton("查询");
                    jbInsert=new JButton("插入");
                    jbDelete=new JButton("删除");
                    dFunction.setBounds(470,240,260,230);
                    jbInquire.setBounds(70,50,100,40);
                    jbInsert.setBounds(70,100,100,40);
                    jbDelete.setBounds(70,150,100,40);
                    dFunction.setLayout(null);
                    dFunction.add(jbInquire);
                    dFunction.add(jbInsert);
                    dFunction.add(jbDelete);
                    dFunction.setResizable(false);
                    dFunction.setVisible(true);
                }
                else {     //若密码验证不通过,则进行相应提示
                    JOptionPane.showMessageDialog(dEnter1,"密码输入错误!!!","提醒!!警告!!!",JOptionPane.ERROR_MESSAGE);
                }
            }

            else {     //若一开始的账号验证就没有通过,同样进行相应提示
                JOptionPane.showMessageDialog(dEnter1,"用户名不存在,请重新输入或注册一个账户!!!","提醒!!!",JOptionPane.INFORMATION_MESSAGE);
                tfUser.setText("");
                tfPass.setText("");
            }

        } catch(SQLException e) {
            e.printStackTrace();
        } finally {
            try {
                if(rs != null) {
                    rs.close();
                }
                if(psta != null) {
                    psta.close();
                }
                if(conn != null) {
                    conn.close();
                }
            }catch(SQLException e) {
                e.printStackTrace();
            }
        }

    }
}

//此方法为当点击主界面的登录按钮后,需响应的方法
//主要功能为完成第一个登录界面
public void Login() {
    jlUser=new JLabel("用户名");
    jlPass=new JLabel("密    码");
    tfUser=new TextField();
    tfPass=new JPasswordField();

    tfPass.setEchoChar('*');
    tfUser.setBounds(80,60,120,30);
    tfPass.setBounds(80,100,120,30);
    tfUser.setFont(new Font("宋体",1,20));
    tfPass.setFont(new Font("宋体",1,20));

    jbEnsure1.setBounds(50,150,70,30);
    jbCanel1.setBounds(150,150,70,30);
    jlUser.setBounds(20,60,50,30);
    jlPass.setBounds(20,100,50,30);

    dEnter1.setBounds(470,240,260,230);
    dEnter1.setLayout(null);
    dEnter1.setResizable(false);

    dEnter1.add(jlUser);
    dEnter1.add(jlPass);
    dEnter1.add(jbEnsure1);
    dEnter1.add(jbCanel1);
    dEnter1.add(tfUser);
    dEnter1.add(tfPass);

    dEnter1.setVisible(true);
}

//此方法为当点击第一个注册界面中的确定按钮后,需相应的方法
//此方法的功能为,完场合乎规格的账号的注册,将其写入到数据库中
public void Register() {
    String z_user=String.valueOf(tfUser.getText());
    String z_pass=String.valueOf(tfPass.getText());

    tfUser.setText("");
    tfPass.setText("");

    Connection conn = null;
    PreparedStatement psta=null;
    ResultSet rs = null;
    String sql = null;

    try {
        conn = DriverManager.getConnection(url,user,pass);

        //这个sql语句的功能是判断输入的账号已在数据库中,已被注册
        sql = "select r_account from register where r_account=?";
        psta = conn.prepareStatement(sql);
        psta.setString(1, z_user);
        rs = psta.executeQuery();

        if(rs.next()) {              //若输入的账号已被注册,则进行相应提示,重新输入
            JOptionPane.showMessageDialog(jbEnsure1, "该用户已注册,请重新输入用户名!!",
                    "提醒!",JOptionPane.INFORMATION_MESSAGE);
            tfUser.setText("");
            tfPass.setText("");
        }

        else {       //若账号未被注册
            if(z_pass.length()>=6) {                 //注册账号的密码需不少于6位

                //此sql语句的作用是将满足账号密码  插入到表中
                sql = "insert into register (r_account,r_password) values (?, ?)";
                psta = conn.prepareStatement(sql);
                psta.setString(1,z_user);
                psta.setString(2,z_pass);
                psta.executeUpdate();

                dRegister1.setVisible(false);
                dRegister1=new Dialog(dRegister1, "提示", true);
                jlUser=new JLabel("恭喜您注册成功!");

                dRegister1.setBounds(520, 300, 80, 100);

                dRegister1.add(jlUser);
                dRegister1.add(jbEnsure3);

                dRegister1.setVisible(true);

            }
            else {   //若密码不满足6位
                 JOptionPane.showMessageDialog(jbEnsure1,"密码须大于六位!!!","提醒!",JOptionPane.INFORMATION_MESSAGE);
                    tfUser.setText("");
                    tfPass.setText("");
            }
        }
    }
    catch(SQLException e) {
        e.printStackTrace();
    }
    finally {
        try {
            if(conn != null) {
                psta.close();
            }
            if(psta != null) {
                conn.close();
            }
        } catch(SQLException e) {
            e.printStackTrace();
        }
    }

}

//此方法在点击主登录界面的注册按钮时被调用
//主要功能为完成第一个注册界面
public void dRegister() {

    jlUser=new JLabel("注册名");
    jlPass=new JLabel("密    码");
    tfUser=new TextField();
    tfPass=new JPasswordField();

    tfPass.setEchoChar('*');
    tfUser.setBounds(80,60,120,30);
    tfPass.setBounds(80,100,120,30);
    tfUser.setFont(new Font("宋体",1,20));
    tfPass.setFont(new Font("宋体",1,20));

    jbEnsure2.setBounds(50,150,70,30);
    jbCanel2.setBounds(150,150,70,30);
    jlUser.setBounds(20,60,50,30);
    jlPass.setBounds(20,100,50,30);

    dRegister1.setBounds(470,240,260,230);
    dRegister1.setLayout(null);
    dRegister1.setResizable(false);

    dRegister1.add(jlUser);
    dRegister1.add(jlPass);
    dRegister1.add(jbEnsure2);
    dRegister1.add(jbCanel2);
    dRegister1.add(tfUser);
    dRegister1.add(tfPass);

    dRegister1.setVisible(true);
}

public static void main(String[] args) {
    new mywork();
}

}

解决方案三:

怎么不见你说什么问题?

解决方案四:

蛋都碎了要别人拿这么多代码去运行吗!

解决方案五:

你管这叫一段代码?
我觉得提问者有责任自己找出可能出错的模块再行体问。

解决方案六:

你这么写别人看都看晕了,好歹把异常信息发一下。。。

时间: 2024-12-09 06:06:53

swing-一段代码,调试很久没调试出来,求帮忙,哪里出了问题的相关文章

c语言 链表 加法-多项式加法,不知道哪里有问题,找了很久没找出来,能不帮个忙看下

问题描述 多项式加法,不知道哪里有问题,找了很久没找出来,能不帮个忙看下 #include #include typedef int ElemType; typedef struct node{ ElemType exp; ElemType coef; struct node next; }linklist; //创建空链表,再主函数里输入数值, void creat(linklist *s) { s=(linklist)malloc(sizeof(linklist)); s->next=NUL

eclipse-在Eclipse中怎么编写一段代码可以自动找到想要的文件和打印出所在的路径?

问题描述 在Eclipse中怎么编写一段代码可以自动找到想要的文件和打印出所在的路径? 在Eclipse中怎么编写一段代码可以自动找到想要的文件和打印出所在的路径? 解决方案 http://blog.csdn.net/aotian16/article/details/5775778

这两段代码什么意思?没见过,求指点,求注译

问题描述 if((pp!="")&&(pp!="0")){source=source.Where(Expression.Lambda(Expression.Equal(Expression.Property(expression=Expression.Parameter(typeof(<>f__AnonymousType4<string,string,bool?,string,string,int,string,bool,decim

很久没来这里了,各位可好?!

<? //ubbcode类   class ubbcode{   var $call_time=0;   //可处理标签及处理函数对应表   var $tags = array( //小写的标签 => 对应的处理函数   'url' => '$this->url',   'email' => '$this->email',   'img' => '$this->img', 'flash' => '$this->flash', 'sound' =&

初学者玩ajax,写的一段代码在火狐上没问题,在ie8上提示下面的信息,望高手解答

问题描述 网页错误详细信息用户代理:Mozilla/4.0(compatible;MSIE8.0;WindowsNT6.1;Win64;x64;Trident/4.0;.NETCLR2.0.50727;SLCC2;.NETCLR3.5.30729;.NETCLR3.0.30729;MediaCenterPC6.0;.NET4.0C;.NET4.0E;InfoPath.3)时间戳:Fri,11Nov201112:46:38UTC消息:对象不支持此属性或方法行:14字符:3代码:0URI:http:

ios_IM_SDK_V3.1.1里面为什么找不到EaseMob文件,环信官网上的文档是不是很久没更新了

问题描述 如题 解决方案 3.x的SDK请参看3.0的文档,2.x的SDK参看2.x的文档,EaseMob是2.xSDK中的.

java的一段代码,老是出错,哪位大佬帮忙看看,谢谢了

问题描述 /**Tochangethistemplate,chooseTools|Templates*andopenthetemplateintheeditor.*/packageBiDemo;/****@authorhhz*/publicclassjavaBig4{//将输入进来的字符串转换为int数组.publicstaticint[]returnArray(StringBig){intBiglength=Big.length();int[]Array=newint[Biglength];f

此段代码是在asp中 实现公告 求详解

问题描述 <%insql="select*fromgonggaowherepassed=1orderbyiddesc"Setinrs=conn.execute(insql)ifinrs.eofthenresponse.write"暂时没有公告--"elseresponse.write"<Palign=center><marqueescrollAmount=1scrollDelay=0direction=upheight=90onmo

求大神帮看一段代码不怎么理解

问题描述 是ADO.NET这一块的相关代码了.程序是声名一个配置文件.然后在程序中调用它.最后显示数据库中的相关数据.虽然我看代码也知道运行的结果但不知道这是什么样一个十字路口.stringdp=ConfigurationManager.AppSettings["provider"];stringcnStr=ConfigurationManager.AppSettings["cnStr"];这两段代码也是以前没见过的,但是看着不难理解应该就是提取配件文件中的值.其中