【问题标题】:How to store usernames and passwords in java and call them in a different class如何在java中存储用户名和密码并在不同的类中调用它们
【发布时间】:2019-11-29 22:25:57
【问题描述】:

我有 2 个类:一个创建名为 ToolKit 的 JPane 登录屏幕,另一个链接到名为 Register 的 Toolkit。当有人打开我的应用程序时,他们会注册他们的信息,并将其保存到用户名和密码以及确认密码等值中。我想弄清楚如何存储密码和用户名,并将用户名与用户输入的注册密码匹配。然后我希望能够使用我的 ToolKit 类中存储的用户名和密码来允许登录。

我尝试 Array 类将我的用户名和密码存储在单独的数组字段中并尝试链接它们,但这似乎不起作用。我想看看我是否应该使用 for 循环来创建 switch 语句或随机的东西。

工具包文件:

这是登录按钮:

JButton btnLogin = new JButton("Login");
btnLogin.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {

当您按下登录时,它会清除文本字段:

String password = txtPassword.getText();
String username = txtUsername.getText();
//Dont forget condtion if statements. Like breaking down capitalization

我想将“King”设置为用户在 Register 类中存储为用户名的任何内容,并对密码执行相同操作。

        if(password.contains("King") && username.contains("one")) {
            txtPassword.setText(null);
            txtUsername.setText(null);
        }
        else
        {

只是一个无效的登录消息,稍后将更改为具有更多无效的登录条件。

JOptionPane.showMessageDialog(null, "Invalid Login Details Have you Registered Yet?", "Login Error", JOptionPane.ERROR_MESSAGE);
            txtPassword.setText(null);
            txtUsername.setText(null);

注册类: 这是第二类,有一个 Jlabel,我把它变成了一个按钮。

JLabel Register = new JLabel("Register");

Register.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
        Register.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent e) {

当点击注册时会发生一些事情。

截至目前,当注册标签被推送时,它会将用户输入的内容存储到变量名和密码中。

我如何获取这些值并将它们链接在一起,然后存储它们并将它们移动到另一个类?

String name =  userName.getText();
String password = passwordField.getText();

我希望当应用程序打开时,用户可以使用不同的用户名和密码创建多个帐户,这些帐户将保持链接在一起,并且能够转到 Toolkit 类并使用他们在 Register 类中创建的密码和用户名登录.

【问题讨论】:

    标签: java swing user-interface passwords


    【解决方案1】:

    你有几个选择,

    1. 将它们设为static public 变量。 (Reference)
    2. 为“用户”创建一个单例,其中包含用户名和密码。这样,下次访问它时,您将获得旧值。 (Reference 1, Reference 2, Reference 3)
    3. 将值存储在文件(或)本地数据库中,并在需要时从中检索。 (Reference 1, Reference 2)

    【讨论】:

    • 如何创建单例?对于两个字段
    • 实际上我明白了你的意思,只是将它们设为静态公共,这有助于我在其他类中使用它们。谢谢你现在我只需要找到一种方法将不同的用户和密码存储在一起。我猜这就是单例的用途。
    • 您好,抱歉,我之前赶时间,所以无法提供任何参考。
    • 我已经用参考资料更新了我的答案,你可以用来学习我建议的方法。
    • 这里单例的想法是创建一个具有usernamepasswordUser 类。只能创建一个 User 实例,因此下次尝试“创建”一个时,您将能够访问旧实例。
    猜你喜欢
    • 2017-12-02
    • 2019-09-02
    • 2023-01-05
    • 1970-01-01
    • 1970-01-01
    • 2011-08-13
    • 1970-01-01
    • 2013-12-27
    • 2021-08-03
    相关资源
    最近更新 更多