Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883

    (java) Non corretta visualizzazione di finestre swing

    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?

  2. #2
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    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.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883
    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.

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,303
    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.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.