Как я могу отслеживать имя пользователя для текущего пользователя в программе? - PullRequest
0 голосов
/ 31 октября 2019

Я работаю над школьным проектом, который кодируется на 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 относится к переменной, которая содержит только что подтвержденное имя пользователя. Я получаю сообщение об ошибке «currentUser не является публичным в currentUser». Как я могу решить эту проблему? Любые точки в правильном направлении или ресурсы будут очень полезны!

1 Ответ

1 голос
/ 31 октября 2019

Я думаю, что проблема в вашем конструкторе. Может быть, попытаться установить конструктор public:

    public CurrentUser(String user){
      this.loggedInUser = user;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...