如何在java中从另一个类调用字符串或任何数据类型

如何在java中从另一个类调用字符串或任何数据类型,java,swing,class,Java,Swing,Class,我有一个LoginGUI和一个MainGUI,我想做的是在MainGUI中以字符串形式返回当前用户,或者以整数形式返回UserID。我的程序运行LoginGUI,然后如果用户名和密码与数据库匹配,它将允许您进入MainGUI。我已经在我的LoginGUI中声明了CurrUserID和CurrUser-两者都是公共的,但是我如何在我的MainGUI中使用它们呢 这是我的登录代码-我正在使用swing private void loginButActionPerformed(java.awt

我有一个LoginGUI和一个MainGUI,我想做的是在MainGUI中以字符串形式返回当前用户,或者以整数形式返回UserID。我的程序运行LoginGUI,然后如果用户名和密码与数据库匹配,它将允许您进入MainGUI。我已经在我的LoginGUI中声明了CurrUserID和CurrUser-两者都是公共的,但是我如何在我的MainGUI中使用它们呢

这是我的登录代码-我正在使用swing

    private void loginButActionPerformed(java.awt.event.ActionEvent evt) {                                         
    for (int i = 0; i <= size; i++) {
        if (login.getText().equals(users[i].getUser())) {
            currUser = users[i].getUserID();
            if (password.getText().equals(users[i].getPassword())) {
                try {
                    MainGUI main = new MainGUI(users);
                    main.setVisible(true);
                    this.dispose();
                } catch (SQLException ex) {
                    Logger.getLogger(LoginGUI.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
            else{
                JOptionPane.showMessageDialog(null, "Incorrect Password");
            }
        }
        else{
            JOptionPane.showMessageDialog(null, "Incorrect UserName");
        }
    }
}                                        

public int getCurrUser() {
    return currUser;
}
private void loginButActionPerformed(java.awt.event.ActionEvent evt){

对于(inti=0;i添加一个成员,比如说
stringuid;
)到MainGUI类,并创建两个构造函数,一个接受
String
,另一个接受
Integer
;在它们中,将
uuid
设置为传递的任何内容。现在,您的用户id将绑定到MainGUI供以后使用


因此,当您完成登录后,初始化
newmaingui(passedID)

您可以在
MainGUI
类中添加setter方法,并像这样调用它:

main.setCurrentUser(currUser);
要将多个字段从
LoginGUI
传递到
MainGUI
,可以使用包装类,例如

CurrUserDetails details = new CurrUserDetails(userID, userName);
main.setCurrentUserDetails(currUser);
为了调用类的任何非静态方法,您需要一个类的实例,例如

public class Foo{
    public void bar(){
        // do stuff
    }
}

Foo f = new Foo();
f.bar(); // invoking non-static method of class Foo

发布相关代码。在没有看到您拥有的内容的情况下,很难提出任何建议。您必须在这里提供更多信息。您使用的是Swing?框架?您所说的“我的程序运行登录”是什么意思?您正在实例化一个实例吗?运行一个流程吗?MainGUI是如何开始的?