如何跟踪程序中当前用户的用户名?

我正在开发一个用 Java 编码并与 My SQL 数据库交互的学校项目。


我已经进入登录屏幕以确定用户名和密码是否正确,如果正确,则转到主屏幕。我现在想做的是跟踪已登录的用户,以便我可以在其他类中引用它。我创建了一个 currentUser 类,其中包含以下内容。


public class CurrentUser {

  public String loggedInUser; 


  CurrentUser(String user){

      this.loggedInUser = user;

}



  public String getCurrentUser(){

      return this.loggedInUser;


  public void setCurrentUser(String user){

     this.loggedInUser = user;

}   

 }

在我的登录应用程序中,在确认用户名和密码后的区域中,我输入了以下内容。


void handleLogIn(javafx.scene.input.MouseEvent event) throws IOException, SQLException {


// verify login and send to main screen

String userName = username.getText();   

String passWord = password.getText();


boolean notFound = true;

Statement stmt = conn.createStatement();

String sqlExecute = "SELECT * FROM user WHERE userName = " + "'" + userName + "'" + " AND password=" + "'" + passWord + "'";

Query.makeQuery(sqlExecute);

ResultSet result = Query.getResult();

while (result.next() && notFound){


    //System.out.print(result.getString("userName"));

    //System.out.print(result.getString("password")); 

    if (userName.equals(result.getString("userName")) && passWord.equals(result.getString("password"))){

        notFound = false; 

        Parent root = FXMLLoader.load(getClass().getResource("mainmenu.fxml"));

        scene = new Scene(root);

        stage.setScene(scene);

        stage.show();

        currentUser current = new currentUser("userName");

    }


}

userName是指包含刚刚确认的userName的变量。我收到错误“currentUser 在 currentUser 中不是公开的”。我该如何解决这个问题?任何正确方向或资源的观点都会非常有帮助!


慕勒3428872
浏览 89回答 1
1回答

犯罪嫌疑人X

我认为问题出在你的构造函数上。也许尝试将构造函数设置为公共:    public CurrentUser(String user) {            this.loggedInUser = user;     }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java