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

时间:2013-10-22 15:40:18

标签: java netbeans

我正在使用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")

1 个答案:

答案 0 :(得分:0)

很抱歉,但从你的代码开始非常奇怪:

  • jButton6MouseClicked属于哪个类?
  • 你的两个大括号永远不会关闭。

现在让您了解如何继续: - 假设你的方法jButton6MouseClicked属于一个LogIn类。这个类只需要一个类属性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();