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

    (java) dispose di finestre

    Secondo voi queste righe di codice vanno messe ogni volta che si crea un pannello grafico (tipo jpanel o jdialog)

    addWindowListener (new java.awt.event.WindowAdapter () {
    public void windowClosing (java.awt.event.WindowEvent evt) {
    dispose ();
    }
    }
    );

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    No... ogni volta che si crea una finestra. Frame o JFrame, Dialog o JDialog, oppure Window (se si vuole arrovellarsi un po')...
    E non è nemmeno necessario metterle sempre: solamente quando è richiesta la chiusura di una finestra.

    Il metodo addWindowListener, infatti, esiste solamente per quelle componenti grafiche che estendono Window. (Jpanel o Panel non ce l'hanno!!)


    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

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883
    se io creo un'applicazione swing che ha un frame principale e premo sulla X di chiusura, la finestra si chiude però non viene liberata la ram del pc infatti se premi su ctrl + alt + can vedi che la tua applicazione swing è attiva
    Per terminarla del tutto devi mettere le righe di codice che ho postato associate al frame

    La mia domanda è questa
    se all'interno della mia applicazione swing c'è un bottone che premendolo mi fa comparire una jdialog, a questa jdialog gli devo associare le righe che ho scritto sopra oppure no? Se non ce le metto e premo la X di chiusura della jdialog, le risorse vengono liberate o no?

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Non credo che vengano liberate.
    Quando crei una JDialog e vuoi che questa, ad un certo punto per un qualsiasi motivo, venga chiusa, devi chiamare il metodo dispose().
    Ma il metodo dispose() è fornito per tutti gli oggetti che estendono Window, non per i pannelli!!



    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.