我正在使用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")
答案 0 :(得分:0)
很抱歉,但从你的代码开始非常奇怪:
现在让您了解如何继续: - 假设你的方法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();