打开两个新的 JFrame!为什么会这样?

此代码检查用户名和密码,如果它们正确则打开一个新的 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);

            }

        }

    }


米脂
浏览 222回答 1
1回答

UYOU

您没有展示如何将侦听器添加到按钮,但大概您有这样的东西:login.addActionListener(new loginAC());此行在您的代码中出现多次吗?或者这条线有可能不止一次运行吗?如果是这样,登录按钮将添加多个侦听器,这意味着ActionEvent单击登录按钮时将调度多个侦听器;如果用户名和密码都正确,那将导致不止一个新窗口打开。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java