Ciao a tutti.
Ho un problema con un programma che ho creato io.
In sostanza ho una finestra grafica che chiamerò mainFrame che apre una seconda frame di login (loginInterface).
La main frame dopo aver aperto la loginInterface attende che venga effettuato il login (inserimento di username e password e click sul pulsante di login) con questo codice:
// mainFrame.java
User userToLog = null;
while(userToLog == null)
userToLog = loginWindow.getUser();
System.out.println(userToLog);
// loginInterface.java
protected void login() {
String name = txtName.getText();
String password = new String(passwordField.getPassword());
User me = new User(name, password);
this.me = me; // salvo a livello di classe l'User inserito
this.log = true; // la variabile booleana log indica se il login è stato o no effettuato
}
public User getUser(){
return (log) ? this.me : null;
}
Il problema è che quando avvio la mainFrame normalmente una volta effettuato il login (con click sul pulsante "login" di loginInterface) l'utente inserito non viene dato in output; mentre eseguendo il debug tutto fila liscio e dopo il click ricevo output corretto.
Qualcuno sa come risolvere o come potrei modificare per evitare il problema? grazie
Allegati: