yang_xingui 2022-06-22 23:15 采纳率: 90.9%
浏览 79
已结题

登陆界面输入正确的密码也会报错


package ui;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import jiekou.accountjiekou;
import jiekouimp.Accountjiekouimp;
import db.Account;
public class Enter extends JFrame implements ActionListener {
    public static void main(String[] args) {
        Enter l = new Enter();
        l.Entertest();
    }
    JLabel tle,act,pwd;
    JTextField account,password;
    JButton entry,register;
    JPanel line,line1,line2,line3;
    public void Entertest() {
        // TODO Auto-generated constructor stub
        Container con=getContentPane();        
        con.setLayout(new GridLayout(4,1)); 
        //实例化所有的组件
        line=new JPanel();
        line1=new JPanel();
        line2=new JPanel();
        line3=new JPanel();
        tle=new JLabel("学生管理系统");
        tle.setFont(new Font("黑体", Font.PLAIN, 20));    
        act=new JLabel("账号:");
        pwd=new JLabel("密码:");
        entry=new JButton("登录");
        entry.addActionListener(this);    
        account=new JTextField(10);
        password=new JTextField(10);
        //将所以组件添加到面板
        line.add(tle);
        line1.add(act);
        line1.add(account);
        line2.add(pwd);
        line2.add(password);
        line3.add(entry);
        //将面板添加到容器
        con.add(line);
        con.add(line1);
        con.add(line2);
        con.add(line3);
        //设置页面标题,大小
        setTitle("登录");
        setSize(340,200);
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);    
    }
    //触发登录按钮后所产生的行为
    public void actionPerformed(ActionEvent e) {
        // TODO Auto-generated method stub
        Accountjiekouimp adi=new Accountjiekouimp();    //实例化账户接口实现类
        Account act=new Account();                //实例化一个账户对象
        if(adi.search(account.getText())!=null) {    //调用账户接口的search方法,判断数据库中所存的账户名称是否有与输入的账户相同的名称
            act=adi.search(account.getText());        //将返回的查询到的符合条件的数据暂存到act对象中
            if(act.getPassword().equals(password.getText())) {    //判断所输密码是否与数据库存储的相同
                this.setVisible(false);
                new Host().setVisible(true);        //账号密码均一致,显示主页面
            }else {
                new Error().setVisible(true);        //密码不一致,显示输入错误页面
            }
        }    
        else {
                new Error().setVisible(true);        //账号不一致,显示输入错误页面
            }
    }
}

img

  • 写回答

5条回答 默认 最新

  • 一起随缘 2022-06-23 09:08
    关注

    看看数据库中的密码是否加密后的还是明文密码,如果拿输入的明文密码和加密后的比对肯定不对,要做对应的加密再比对

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 7月2日
  • 已采纳回答 6月24日
  • 创建了问题 6月22日

悬赏问题

  • ¥15 ansys fluent计算闪退
  • ¥15 有关wireshark抓包的问题
  • ¥15 需要写计算过程,不要写代码,求解答,数据都在图上
  • ¥15 向数据表用newid方式插入GUID问题
  • ¥15 multisim电路设计
  • ¥20 用keil,写代码解决两个问题,用库函数
  • ¥50 ID中开关量采样信号通道、以及程序流程的设计
  • ¥15 U-Mamba/nnunetv2固定随机数种子
  • ¥15 vba使用jmail发送邮件正文里面怎么加图片
  • ¥15 vb6.0如何向数据库中添加自动生成的字段数据。