Sto studiando le interfacce grafiche in java da me, e non so come gestire alcuni problemi che si sono presentati.
Il mio programma deve creare un file di configuarazione con dei dati inseriti dall'utente, quindi al primo avvio faccio comparire una finestrella in cui l'utente inserisce questi dati. Questo è il codice della chiamata
In pratica DataDialog è la classe che crea il frame; al suo interno ho dichiarato una array di stringhe che, quando l'utente inserisce i dati, viene aggiornato in modo corretto; l'ultima cella di questo array ([4]) contiene il valore 0 se l'array è ancora vuoto, 1 se è stato aggiornato (l'utente ha pigiato OK e i dati sono stati salvati nel file di configurazione).codice:DataDialog d = new DataDialog(); while (d.getData()[4].equals("0")) { } dati = d.getData();
Il metodo getData() semplicemente restituisce questo array.
Ho appurato che se lascio il while vuoto ( se lascio cioè {}) si pianta tutto, non ho capito perche: devo metterci dentro qualsiasi cosa, anche un banale int i = 0; perchè vada. Mi sapete spiegare perchè?
Inoltre questa cosa mi sembra molto dispendiosa in tutti i sensi: non è possibile effettuare un'attesa passiva, interrotta da un segnale inviato dalla classe DataDialog? Come si potrebbe fare?
Grazie in anticipo dell'aiuto e dell'attenzione!