PDA

Visualizza la versione completa : [JAVA] Mettere in attesa un programma


teuccio
08-07-2004, 19:19
Ciao,

ho un programma monothread che vorrei mettere in attesa per qualche decimo di secondo.


cioè, ho un pezzo di codice che fa:


while(!s.close){
attendi due decimi di secondo;
}


C'è un'istruzione che fa al caso mio?
Qualcosa che nn occupa il processore!


Ciao!

Ed_Bunker
08-07-2004, 20:17
Originariamente inviato da teuccio
Ciao,

ho un programma monothread che vorrei mettere in attesa per qualche decimo di secondo.


cioè, ho un pezzo di codice che fa:


while(!s.close){
attendi due decimi di secondo;
}


C'è un'istruzione che fa al caso mio?
Qualcosa che nn occupa il processore!


Ciao!

Il metodo "static void sleep(long millis)" della classe Thread

teuccio
09-07-2004, 12:11
Grazie, però mi sono accorto che non era quello di cui avevo bisogno, perchè mi sono spiegato malissimo nelal domanda!


Cerco di riformulare:

allora, ho un applicazione che utilizza swing per creare uan finestra grafica.

Quando l'utente clicca su un bottone,
voglio che si apra una finestra di conferma. L'utente preme si o no e a seconda di quello che preme il programma principale effettua delle operazioni.

Allora, ho scritto la classe che rappresenta la finestra di conferma.

All'interno ha un campo boolean privato che memorizzerà la scelta fatta dall'utente.

Quando si preme su si, vene settato true questo campo, e si ritorna alla finestra principale.
quando si preme no o si chiude le finestra di conferma, si setta a false il campo e si torna alla fginedstra principale.


Ora, nella finestra principlae quando si preme il bottone per aprire la finestra di conferma, si invaca una funzione.

Dentro questa funzione credo un oggetto di tipo dinestra di conferma, ne setto posizione e dimensioni e la visualizzo, nascondendo la finestra principale.

Ora io vorrei bloccare l'esecuzione del codice qui, fino a che non è stata fatta la scelta nella finestra di conferma.

Il metodo proposto Thread.sleep() mi addormenta tutta l'applicazione e quandi non c'è neppure la possibilità di interagire con la finestra di conferma!

Come posso fare?

Ps: posso capire quando è stata fatta la scelta nella finetsra di conferma attraverso la variabile booleana Conferma.close


grazie a chi mi aiuta!


ps2: so che probabuilmente c'è un metodo molto più semplice per fare tutto ciò, ma sono alla prima esperienza di utilizzo di swing!

Loading