簡體   English   中英

如何從Java中的另一個類調用字符串或任何數據類型

[英]How to call a String or any datatype from another class in java

我有一個LoginGUI和MainGUI,我想做的是在MainGUI中以字符串形式返回當前用戶或以Integer形式返回UserID。 我的程序運行LoginGUI,然后如果UserName密碼與數據庫匹配,它將允許您進入MainGUI。 我已經在我的LoginGUI中聲明了CurrUserID和CurrUser-它們都是公共的,但是如何在MainGUI中使用它們呢?

這是我的LoginGUI的代碼-我正在使用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;
}

我想做的是在MainGUI中返回currUser。 我怎樣才能?

添加一個成員,例如String uid; 到您的MainGUI類,並創建兩個構造函數,一個接受String ,另一個接受Integer 在'em'中,將uuid設置為所傳遞的值。 現在,將您的用戶ID綁定到MainGUI,以供以后使用。

因此,當您完成LoginGUI時,請初始化new MainGUI(passedID)

您可以在MainGUI類中添加一個setter方法, MainGUI調用它:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM