La dialog creata da createDialog() di JOptionPane per default è "modale". Quindi quando si invoca dialog.setVisible(true) si resta "bloccati" qui dentro finché la dialog non viene chiusa.Originariamente inviato da melmar20
ho seguito il tuo consiglio, ma anche con il JDialog il problema persiste.
Ed è chiaro che potrebbe anche non andarti bene .... ma io non so "quando", "dove" (come punto del codice) e a seguito di "che cosa" vuoi chiudere la dialog. Tra i miei Java Examples ho fatto un esempio di "message box" temporizzata (con un timeout). Faccio partire un javax.swing.Timer e poi rendo visibile la dialog fornita da JOptionPane. Al fire dell'evento del timer semplicemente metto la dialog non visibile. Funziona benissimo, perché ho un evento che avviene in modo "parallelo" mentre la dialog è ancora aperta (e si è bloccati nel setVisible).
Potresti rendere la dialog non modale con il setModal() ma a questo punto la dialog non "blocca" l'input sulla finestra parente (ammesso che hai specificato il parent).
Oppure non so .... bisogna vedere meglio.