Java 如何保留所有类的用户登录id

Java 如何保留所有类的用户登录id,java,netbeans,Java,Netbeans,我正在使用netbeans,并使用拖放gui创建了一系列表单文本字段和按钮 我已经创建了这个很好的登录页面,用户从本地数据库输入用户id和密码,我想将输入的用户id存储在另一个表单(“我的个人资料”页面)上,然后查询数据库并获取该用户的详细信息。为此,我需要将userid存储为currentuser,并在另一个类中使用它 我已经尝试了很多方法,但问题是用户输入数据的地方是在一个私有的void方法中,我似乎无法从中获得任何变量 private void jButton6MouseClicked(j

我正在使用netbeans,并使用拖放gui创建了一系列表单文本字段和按钮

我已经创建了这个很好的登录页面,用户从本地数据库输入用户id和密码,我想将输入的用户id存储在另一个表单(“我的个人资料”页面)上,然后查询数据库并获取该用户的详细信息。为此,我需要将userid存储为currentuser,并在另一个类中使用它

我已经尝试了很多方法,但问题是用户输入数据的地方是在一个私有的void方法中,我似乎无法从中获得任何变量

private void jButton6MouseClicked(java.awt.event.MouseEvent evt) {                                      
    String sql = "select * from user where userid='" +userid.getText()
                + "' and password='" +password.getText()+"'";
    try {
        pst = conn.prepareStatement(sql);
        rs = pst.executeQuery();
        if (rs.next()) {
            JOptionPane.showMessageDialog(null, "Welcome"); 
            dispose();
            currentuser = rs.getString("userid");

            HomePageMember form5 = new HomePageMember();
            form5.setVisible(true);
        } else {
            JOptionPane.showMessageDialog(null, 
                        "Sorry, Invalid Login ID or Password");
        }
    } catch(Exception e) {
        JOptionPane.showMessageDialog(null, e);
    }

public class LoginPage extends javax.swing.JFrame {
    Connection conn = null;
    ResultSet rs = null;
    PreparedStatement pst = null;
    private String currentuser; 
    public String getText()  {
        return this.currentuser; 
        // something like this, but it doesn't work
    }

//Then in another class have this
displayuserid.setText("currentuser")

很抱歉,首先,您的代码非常复杂:

  • jButton6MouseClicked属于哪个类
  • 你的两个牙套永远不会合拢
现在让您了解如何继续: -假设您的方法jButton6MouseClicked属于一个类LogIn。这个类只需要一个class属性currentUser和一个getter。然后在jButton6MouseClicked内设置此属性(它是私有的这一事实不会改变任何东西),因此您可以从任何其他类获取此currentUser:

public class LogIn {

    private String currentUser;

    public String getCurrentUser() {
        return this.currentUser();
    }

    // ... Here code to get the user enter login and password

    private void jButton6MouseClicked(java.awt.event.MouseEvent evt) {  

    // ... same code as yours

    } // Close the brace

} // And the second one
现在,如果您使用的是来自其他地方的LogIn类,假设您的类的实例名为LogIn,您可以通过调用以下命令获得currentUser:

login.getCurrentUser();