我尝试创建一个 Java 登录脚本,但我的代码不起作用



我一直在尝试用 Java 制作登录脚本,我一直在四处寻找,我发现了一个错误,人们说我的脚本不起作用,因为我没有使用扫描仪,我现在添加了那些但我的脚本仍然不起作用,这可能是错误是什么?

   package random;
    import java.util.Scanner;
    import javax.swing.JFrame;
    import javax.swing.JOptionPane;
    import random.*;
    public class core extends Window
    {
        /**
         * 
         */
        private static final long serialVersionUID = 1L;
    ;
        public static void main(String[] args) {
            new Window().Create();
        }



    public void sqlstatement()
    {

    }
    public static void succesfullLogin()
    {
    System.out.println("it worked!");
    }


    }

这是窗口.java文件

package random;
import java.awt.ActiveEvent;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Scanner;
import javax.swing.*;

public class Window extends JFrame {
    /**
     * 
     */
    private static final long serialVersionUID = 1L;

    public void Gridbags(int height,int width)
    {
    }
    public void Create()
    {
           JFrame frame = new JFrame("Test");
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            JPanel panel = new JPanel();
            panel.setLayout(null);
            frame.setSize(600,500);
            frame.setResizable(false);
            JButton login = new JButton("Login");
            JButton logout = new JButton("Logout");
            JLabel usernamelbl = new JLabel("username:");
            JLabel passwordlbl = new JLabel("Password:");
            JTextField userinput = new JTextField(10);
            JTextField password = new JTextField(10);
            password.setText("password");
            userinput.setText("root");

            usernamelbl.setBounds(160, 160, 80, 25);
            userinput.setBounds(225, 160, 160, 25);
            passwordlbl.setBounds(160, 190, 80, 25);
            password.setBounds(225, 190, 160, 25);
            login.setBounds(160, 230, 80, 25);


            login.addActionListener(new ActionListener(){
                    public void actionPerformed(ActionEvent arg0) {
                        boolean active = true;
                        String mysqluser = "root";
                        String mysqlPass = "password";
                        @SuppressWarnings("resource")
                        Scanner userscan = new Scanner(userinput.getText());
                //      Scanner passScan = new Scanner(password.getText());
                        if(userscan.equals(mysqluser))
            //          && passScan.equals(mysqlPass))
            {
                                if(active = true) {
                                    core.succesfullLogin();
                                }

                    }
                }
            });

            panel.add(password);
            panel.add(login);
            panel.add(userinput);
            panel.add(usernamelbl);
            panel.add(passwordlbl);
            panel.add(logout);
          frame.add(panel);
      //    frame.pack();
            frame.setVisible(true);
            }
        }

userscan 的类型是扫描仪。将其与字符串进行比较将始终返回 false。
简单地比较字符串对我有用。

if(userinput.getText().equals(mysqluser)&& password.getText().equals(mysqlPass))

最新更新