Ragazzi ho un leggero problema! XD
Il mio prof all'uni non vuole che usiamo la JOptionPane per visualizzare le inputdialog, e vuole che ci creiamo noi una piccola finestra dove inserire ad esempio il nome di un file da aprire e/o da caricare.
Allora io cosa faccio, mi creo una bella classe con dentro implementato la actionlistener per gli ascoltatori degli eventi ed estendo la classe ad un jframe e nel costruttore mi costruisco la mia bella finestrella. Fin qui tutto bene, la crea, e riesco a gestirla completamente.
Ora viene il bello.
Se la metto nel main facendo ad esempio:
codice:
IG_MiniFrame frmCorridoi = new IG_MiniFrame("Numero Corridoi!", 300, 200, 260, 100, "Numero Corridoi:");
IG_MiniFrame frmFile = new IG_MiniFrame("Numero File!", 300, 200, 260, 100, "Numero File:");
IG_MiniFrame frmPosti = new IG_MiniFrame("Numero Posti!", 300, 200, 260, 100, "Numero Posti:");
il programma ovviamente, continuerà ad eseguire il codice sottostante, senza fermarsi ad aspettare che io inserisco un dato valore nel campo JTextField.
Ho ovviato a questa soluzione con una cosa ORRENDA, BRUTTISSIMA, che va contro il mio modo di programmare, ma ho trovato solo questo metodo, ed è quello di mettere un ciclo while che cicla fino a quando non premo il pulsante ok della finestra che mi cambierà una variabile booleana a true e farà continuare il main ed aprire un altra finestra:
codice:
IG_MiniFrame frmCorridoi = new IG_MiniFrame("Numero Corridoi!", 300, 200, 260, 100, "Numero Corridoi:");
while(frmCorridoi.getComplete()==false){}
IG_MiniFrame frmFile = new IG_MiniFrame("Numero File!", 300, 200, 260, 100, "Numero File:");
while(frmFile.getComplete()==false){}
IG_MiniFrame frmPosti = new IG_MiniFrame("Numero Posti!", 300, 200, 260, 100, "Numero Posti:");
while(frmPosti.getComplete()==false){}
Quella che vi chiedo, è: esiste un modo più "bello" di programmare una cosa del genere? bloccare il codice fino all'inserimento del valore nel campo text?
Ci vorrebbe un bel metodo nell'actionperformed tipo:
main.continue(); XD
e nel costruttore ovviamente main.stop(); >_>