如何使用getText()从另一个类的字段中获取文本

时间:2014-02-17 02:15:42

标签: java swing login jbutton gettext

您好我正在尝试为登录表单提取用户输入。我有JTextField名为textField,我想接受用户输入并在另一个类中使用它。

`public String useridGet() 
 {
    return textField.getText();
}
public String userpasswordGet()
  {
    return passwordField.getText();
}`

我有两种方法可以从登录表单中返回useriduser password

`Button btnLogin = new JButton("Login");
        btnLogin.addActionListener(new ActionListener() {
        {
                       public void actionPerformed(ActionEvent arg0) {
                  {
                 loginConnect loginConnectObject = new loginConnect();
                                   loginConnectObject.verifyDetails();
}                               }
});`

然后我在登录按钮中使用verifyDetails()类中的loginConnect方法来收集数据以与数据库进行比较。

`public void verifyDetails()
    {
        loginScreen loginScreenObject = new loginScreen();
        String userid = loginScreenObject.useridGet();
        String userpassword = loginScreenObject.userpasswordGet();
        System.out.println("testing "+userid+userpassword);
    }`

verifyDetails()方法中,我尝试创建loginScreen类的对象来访问从登录表单收集输入的getText方法。

这不起作用,我不知道我哪里出错,任何提示。拜托,谢谢。

1 个答案:

答案 0 :(得分:1)

这是你的问题......

loginConnect loginConnectObject = new loginConnect();

您不断创建loginConnect类的新实例,这意味着屏幕上的实例不是您尝试访问的实例,它们没有任何关系。

相反,您可以将loginConnect设为实例变量,并在主类中引用它,例如......

public class ...
    private loginConnect loginConnectObject;

    public ... {
        //...
        loginConnectObject = new loginConnect();
        add(loginConnectObject);
        //...
        Button btnLogin = new JButton("Login");
        btnLogin.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                loginConnectObject.verifyDetails();
            }
        });
        //...

您可能还想阅读Naming conventions for the Java Language,因为它会让您的代码更容易让人们阅读...