PDA

Visualizza la versione completa : (java) Non corretta visualizzazione di finestre swing


abcd1000
13-01-2004, 09:28
Ho un JFrame con un menu. Premo un pulsante del menu ed appare una JDialog. Finch non viene chiusa la JDialog non si pu accedere al JFrame.

Supponiamo di aver premuto il pulsante del menu. Sul monitor mi appare in background il mio jframe, e sopra una finetra di dimensioni pi piccole che rappresenta la mia jdialog.
Ho il seguente problema.
Se premo AL+TAB per swicciare tra le applicazioni di windows e poi premo con il mouse sulla task bar di windows per aprire la mia applicazione swing mi viene fatto vedere il jframe mentre la jdialog mi rimane nascosta. Per visualizzare la jdialog devo premere ALT+TAB finch non trovo la mia jdialog.

La domanda questa, cccome faccio a dire al mio programma che quando lo seleziono dalla task bar di windows mi faccia vedere correttamente le finestre dell'applicazione swing?

anx721
13-01-2004, 23:29
Anche io ho avuto problemi simili con i JOptionpane. Un primo consiglio , qualora non l'avessi fatto, di passare come primo argomento del costruttore del JDialog il JFrame dell'applicazione e non null come talvolta si fa. Se questo neanche funziona, puoi provare a registrare un WindowListener sul frame in modo tale quando interviene l'evento di WindowActivated o WindowdDeiconified puoi invocare un metodo tipo setVisible(true) sul JDialog, se questo era aperto.

Ciao.

abcd1000
14-01-2004, 14:25
si la jdialog ha come parent il frame principale
Avevo pensato anche io di mettere un windows listener ma invece di mettere setVisibile(true) che penso sia inutile datoch la jdialog gi visibile solo in secondo piano, pensavo di cercare un metodo che gli dica di tornare in primo aino quando il frame viene selezionato.

LeleFT
14-01-2004, 14:31
Esiste un metodo per riportare in primo piano una finestra, anche se ho notato che non funziona molto bene...

Si chiama toFront() un metodo di Window (quindi anche di JDialog).


Ciao.

Loading