Originariamente inviato da Eberk89
codice:
public String getData(){
  this.setVisible(true);
  return dati;
}
lui fa comparire la finestra e subito dopo restituisce l'array dati che, però, è ancora assolutamente vuoto!!!
Se la dialog è stata creata per essere "modale", il setVisible(true) rende visibile la dialog ma non ritorna finché la dialog non è stata chiusa.
Non "ritorna" il metodo ma tutta la gestione degli eventi e della interfaccia grafica continua normalmente perché è tutto gestito internamente al framework per il fatto che è "modale".
E se a seguito di un qualunque evento (es. click su OK) hai fatto in modo da eseguire es. un setVisible(false) ... quel setVisible(true) in cui eri ... esce!!! E quindi hai la possibilità di prendere quello che ti serve, ammesso che hai aggiornato eventuali variabili di istanza ecc...