Problema esecuzione-debug

di il
2 risposte

Problema esecuzione-debug

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:
18164_04f3e2e06791a680d5d5dbe5424f5eeb.png
18164_04f3e2e06791a680d5d5dbe5424f5eeb.png

2 Risposte

  • Re: Problema esecuzione-debug

    kevkev ha scritto:


    In sostanza ho una finestra grafica che chiamerò mainFrame che apre una seconda frame di login (loginInterface).
    In questo scenario, sarebbe appropriata una dialog "modale" per la finestra di login, in modo che la finestra mainFrame resti "bloccata" in modo corretto.

    kevkev ha scritto:


    User userToLog = null;
    while(userToLog == null)
    	userToLog = loginWindow.getUser();
    Non so in che contesto (e intendo anche riferito a quale thread) esegui questo loop ... ma sappi che non è affatto "buono".
  • Re: Problema esecuzione-debug

    Ho risolto mettendo (come dici tu) una finestra modale.
    Ho creato un JDialog in modo da bloccare la principale.
    Grazie mille :3
Devi accedere o registrarti per scrivere nel forum
2 risposte