View Single Post
Old 21-12-2006, 12:08   #1
bertoz85
Bannato
 
L'Avatar di bertoz85
 
Iscritto dal: Jun 2002
Città: Nella Rossa Socialista Romagna (gambettola(fc))
Messaggi: 2066
[java] creare un JPanel "modale"

ciao,
sto creando un'applet grafica che fa uso di derivazioni del JPanel per visualizzare "finestre" stondate, senza utilizzare il dialog o altre componenti che usino grafica di sistema (bordi di finestre, ecc...)

Adesso vorrei creare un jpanel che funzioni da Message Box, che sia quindi modale e blocchi l'esecuzione del thread finchè l'utente non clicca OK o si/no.
Come posso fare?

Ho provato in due modi:
1) dal codice della funzione init() dell'applet creo il box e poi faccio la wait() ... dall'actionlistener del bottone faccio notifyAll() - il problema è che nell'actionlistener del bottone no nci arriva mai perchè l'event-dispatcher è bloccato in attesa. (anzi l'applet rimane bianca perchè non vengono processati gli eventi paint)

2) nell'init() creo un thread e gli faccio fare a lui il lavoro di creazione del box e lo faccio bloccare con la wait().
poi dall'actionlistener (che questa volta viene correttamente richiamato) faccio notifyAll() - ma non funziona, il secondo thread non mi si sblocca.

ovviamente le funzioni sono synchronized e tutto, e non mi da eccezioni.
ma non ho idea di come fare.

devo postarvi il codice?

ciao e grazie
bertoz85 è offline   Rispondi citando il messaggio o parte di esso