从String动态创建类中的对象

时间:2015-06-06 04:06:56

标签: java swing dynamic

我正在尝试在NetBeans中的JFrame表单上创建一个注册窗口。我创建了一个名为users的类(在同一个包中),其用户名为String,密码为char[]

当填写用户名和密码并按下“注册”按钮时,我想在“用户”类中创建一个新对象,以便它的名称取自用户名文本字段本身。

我想动态创建名称取自字符串的对象。

例如:如果我将用户名的值设为"guy",则创建users.guy,其中String = "guy"char[]为密码。

package login;

public class users {
    private char[] password;
    String username;

    users() {
        username = "anonymous";
        password = null;
    }

    users(String u, char[] p) {
        username = u;
        password = p;
    }

    void putdata() {
        System.out.println(username);
        System.out.println(password);
    }
}

提前致谢。

2 个答案:

答案 0 :(得分:1)

如果我理解你的问题,你想要做的就是绘图。在Java中,有很多方法可以做到这一点。

我建议您使用HashMap,它简单而有效。 有一个简单的例子。

String userYayotrón = "Yayotrón";
char[] passwordYayotrón = "contraseña".toArray();
Map<String, char[]> usersMap = new HashMap<String, char[]>();
//This hashmap will take two values, the KEY which identifies the VALUE. The key is the first one, which I define as String. I will use it for save the User's name. And the value will be the password.
usersMap.put(userYayotrón,passwordYayotrón);

现在,您可以将此地图用于很多方面。例如:

usersMap .get(userYayotrón); // This will return an char[] with the password of Yayotrón.
usersMap .size(); // How many users do you have in this map.

此外,强烈推荐阅读以下相关问题:

答案 1 :(得分:0)

创建一个传递用户名和密码的用户类的新实例,如下所示:

new users(userTextField.getText(), userPasswordField.getText().toCharArray())

如果您包含GUI本身的代码,我可以为您提供更直接的答案/解决方案。