PDA

Visualizza la versione completa : JDialog a tempo [java]


hannibal/p
26-11-2003, 19:11
ciao amicici

č possibile chiudere una JDialog dopo un tempo prestabilito??

grazie

ciao

LeleFT
26-11-2003, 19:34
Certo che č possibile: basta che tu faccia partire un thread quando la JDialog viene creata. Questo thread conta il tempo che passa e dopo il tempo prestabilito chiude la JDialog. Non so se il Thread possa partire come figlio di JDialog, ma in ogni caso ti consiglio di farlo partire come figlio dell'applicazione che apre la JDialog.

Ti posto un esempio di codice, a grandi linee, di ciņ che si puņ fare:


public class MiaApplicazione {
... // metodi dell'applicazione
... apriJDialog() {
JDialog jd = new JDialog(); // creo la JDialog
MioThread mt = new MioThread(jd); // Creo il thread e gli passo la JDialog da chiudere
me.start(); // faccio partire il thread
}
}

public class MioThread extends Thread {
JDialog jd;
public MioThread (JDialog jd) {
this.jd = jd;
}

public void run() {
int secondi = 0;
try {
while (secondi < 30) { // chiude la finestra dopo 30 secondi
secondi++;
sleep(1000); // attende 1 secondo
}
jd.dispose(); // chiudo la JDialog
} catch (InterruptedException ie) {}
}
}

Ovviamente puoi impostare con dei parametri diversi il tempo (io ho messo 30 secondi...).
Non ho provato il codice, ma dovrebbe andare (errori sintattici o semantici a parte :D )

Ciao.

Loading