此代码检查用户名和密码,如果它们正确则打开一个新的 JFrame。但是,打开了两个相同的 JFrame,我对原因一无所知。public void checkLogin(String x, String y){ if (x.equals(loginCredentials[0]) && y.equals(loginCredentials[1])){ dispose(); task1ExampleSC o2 = new task1ExampleSC(); o2.setVisible(true); o2.setSize(600,650); o2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }else{ System.exit(0); } } private class loginAC implements ActionListener{ public void actionPerformed(ActionEvent e){ String usernameText,passwordText; if (e.getSource()==login){ usernameText = username.getText(); passwordText = password.getText(); checkLogin(usernameText,passwordText); }else if(e.getSource()==cancel){ System.exit(0); } } }
1 回答
UYOU
TA贡献1878条经验 获得超4个赞
您没有展示如何将侦听器添加到按钮,但大概您有这样的东西:
login.addActionListener(new loginAC());
此行在您的代码中出现多次吗?或者这条线有可能不止一次运行吗?如果是这样,登录按钮将添加多个侦听器,这意味着ActionEvent
单击登录按钮时将调度多个侦听器;如果用户名和密码都正确,那将导致不止一个新窗口打开。
添加回答
举报
0/150
提交
取消