danlvet ha scritto:
Ho due classi che estendono JFrame, X e Y. Nel frame X ho un bottone, alla pressione del quale viene eseguita una funzione x che genera un frame Y (una finestrella che ha un JTextField e un bottone). Io vorrei prendere il testo di questa JTextField e utilizzarlo nel codice restante della funzione x.
Il problema è che dovrei fare in modo di mettere un pausa l'esecuzione del codice di x in attesa della premuta del bottone. Ho letto dell'uso dei JDialog, ma non funziona sul mio programma.
Innanzitutto le interfacce grafiche vanno avanti solo "per eventi". Detto in generale non c'è il concetto di "aspetta (anche nel senso di sospendi il thread) in attesa che succeda qualcosa". Leggi anche quello che dicevo qualche giorno fa
qui che si riaggancia in parte a questa questione.
Quello che puoi fare è "ascoltare" (con un apposito listener) la pressione del pulsante nella finestra Y. E come farlo, dove farlo ecc... diventa più una questione di "design" delle classi.
Il fatto che dici che JDialog "non funziona" .... dice poco, dipende come l'hai usato. E comunque da quanto dici, a te serve solo l'input di una linea di testo, giusto? Solo per questo non c'è bisogno di creare frame o dialog. Esiste già la classe JOptionPane che con i suoi metodi showXXXX è in grado di gestire una serie di "message box" tipiche, tra cui anche l'input di una semplice linea di testo.