fresh student 2021-12-13 15:33 采纳率: 66.7%
浏览 67
已结题

点了按钮没有反应,不知道是没有触发事件还是怎么回事

运行出来点登录按钮没有反应,是我的代码有问题吗

 package frame;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.*;

public class LoginFrame extends JFrame implements ActionListener {
    JTextField userName,passWord;
    JLabel name,psw,tip;
    Box boxHOne,boxHTwo,boxVOne,boxVTwo;
    JButton logIn,signUp;
    public LoginFrame(){
        setTitle("推箱子");
        setLayout(new FlowLayout());
        boxHOne=Box.createHorizontalBox();
        boxVOne=Box.createVerticalBox();
        boxVTwo=Box.createVerticalBox();
        name=new JLabel("用户名:");
        psw=new JLabel("密码");
        boxVOne.add(name);
        boxVOne.add(psw);
        userName=new JTextField(15);
        passWord=new JTextField(15);
        boxVTwo.add(userName);
        boxVTwo.add(passWord);
        boxHOne.add(boxVOne);
        boxHOne.add(Box.createHorizontalStrut(10));
        boxHOne.add(boxVTwo);
        logIn=new JButton("登录");
        logIn.addActionListener(this::actionPerformed);
        signUp=new JButton("注册");
        signUp.addActionListener(this::actionPerformed);
        boxHTwo=Box.createHorizontalBox();
        boxHTwo.add(logIn);
        boxHTwo.add(signUp);
        add(boxHOne);
        add(boxHTwo);
        setBounds(1100,500,320,200);
        setVisible(true);
        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    }
    public void actionPerformed(ActionEvent e){
        if(e.getSource()==logIn)
            dataQuery();
        else if(e.getSource()==signUp)
            new SignUpFrame();
    }
    public void dataQuery(){
        Connection con;
        Statement sql;
        ResultSet rs;
        try{
            Class.forName("com.mysql.jdbc.driver");
        }catch (Exception e){}
        try{
            String uri="jdbc:mysql://localhost:3306/pushBox?useSSL=true";
            String user="root";
            String password="123456";
            con= DriverManager.getConnection(uri,user,password);
            sql=con.createStatement();
            String uName=userName.getText();
            rs=sql.executeQuery("SELECT *FROM user WHERE username="+uName);
            String pasw=passWord.getText();
            String pasw1=rs.getString("password");
            do{
                if(rs==null){
                    tip=new JLabel("用户名不存在");
                    add(tip);
                }
                else {
                    if(pasw==pasw1){
                        new MainFrame();
                        break;
                    }
                    else{
                        tip=new JLabel("密码错误");
                        add(tip);
                    }
                }
            }while(rs==null||pasw!=pasw1);
            con.close();
        }catch (SQLException e){}
    }
    public static void main(String args[]){
        new LoginFrame();
    }
}

  • 写回答

3条回答 默认 最新

  • 关注
    
    logIn.addActionListener(this::actionPerformed);
    改为
    logIn.addActionListener(this);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 12月21日
  • 已采纳回答 12月13日
  • 创建了问题 12月13日

悬赏问题

  • ¥20 java在应用程序里获取不到扬声器设备
  • ¥15 echarts动画效果的问题,请帮我添加一个动画。不要机器人回答。
  • ¥60 许可证msc licensing软件报错显示已有相同版本软件,但是下一步显示无法读取日志目录。
  • ¥15 Attention is all you need 的代码运行
  • ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
  • ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事:
  • ¥15 前置放大电路与功率放大电路相连放大倍数出现问题
  • ¥80 部署运行web自动化项目
  • ¥15 腾讯云如何建立同一个项目中物模型之间的联系
  • ¥30 VMware 云桌面水印如何添加