0

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

我创建了这个漂亮的登录页面,用户从本地数据库输入用户 ID 和密码,我想存储输入的用户 ID 以在另一个表单(“我的个人资料”页面)上使用,然后查询数据库并获取该用户的详细信息。为此,我需要将用户 ID 存储为 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")
4

1 回答 1

0

对不起,但从你的代码开始很奇怪:

  • jButton6MouseClicked 属于哪个类?
  • 您的 2 个牙套永远不会闭合。

现在让您了解如何进行: - 假设您的方法 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();
于 2013-10-22T16:48:55.507 回答