Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17

Discussione: Chiudere Finestra

  1. #1

    Chiudere Finestra

    Salve a tutti,
    Ho un Frame che contiene un pannello
    dentro questo pannello ho creato un pulsante tutto mio.
    Questo pulsante se viene clikkato deve chiudere la finestra... come posso fare?

    Thanks

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Chiudere Finestra

    Originariamente inviato da Eragorn87
    Salve a tutti,
    Ho un Frame che contiene un pannello
    dentro questo pannello ho creato un pulsante tutto mio.
    Questo pulsante se viene clikkato deve chiudere la finestra... come posso fare?
    setVisible(false) o dispose() sul Frame/JFrame. La differenza è che setVisible(false) nasconde la finestra mentre dispose() in più rilascia tutte le risorse native usate dalla finestra.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Il problema è che il metodo dispose sul pannello non funziona...
    se lo metto sul frame è normale, ma io ho il pulsanto nel pannello che deve scatenare dispose per il Frame... come fare??

  4. #4
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    codice:
    bottone_uscita.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        mio_frame.dispose();
      }
    });
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  5. #5
    Ho capito...
    ma mio_Frame da dove lo prende??
    Il pulsante sta nel pannello che è mio_Panel...
    se gli metto mio_Frame dentro al pulsante che viene aggiunto nel pannello non lo vede nemmeno

  6. #6
    Originariamente inviato da Eragorn87
    Ho capito...
    ma mio_Frame da dove lo prende??
    Il pulsante sta nel pannello che è mio_Panel...
    se gli metto mio_Frame dentro al pulsante che viene aggiunto nel pannello non lo vede nemmeno
    Al posto di dispose() usa System.exit (0)

  7. #7
    così chudo tutto...

    devo solo chiudere una finestra non tutte quante...

  8. #8
    Originariamente inviato da Eragorn87
    così chudo tutto...

    devo solo chiudere una finestra non tutte quante...
    Ah scusa allora ho letto male

    Ti faccio un piccolo esempio:

    codice:
    JFrame frame = new JFrame ("esempio");
    frame.setSize (100, 100);
    frame.setDefaultCloseOperation (JFrame.DISPOSE_ON_CLOSE);
    
    JPanel panel = new JPanel();
    JButton button = new JButton ("click");
    button.addActionListener
    (
    	new ActionListener()
    	{
    		public void actionPerformed (ActionEvent event)
    		{
    			frame.dispose();
    		}
    	}
    );
    
    panel.add (button);
    frame.add (panel);
    
    frame.setVisible (true);

  9. #9
    ok...
    ma il problema è che il frame è una classe...
    il pannello è un altra classe...

    codice:
    class Frame extends JFrame
    {
      public Frame()
      { 
        .....
        Metto un contenitore a cui viene aggiunto un pannello!!
      }
    }
    
    class Panel extends JPanel
    {
      public Panel()
      { 
        .....
      }
    }

  10. #10
    Originariamente inviato da Eragorn87
    ok...
    ma il problema è che il frame è una classe...
    il pannello è un altra classe...

    codice:
    class Frame extends JFrame
    {
      public Frame()
      { 
        .....
        Metto un contenitore a cui viene aggiunto un pannello!!
      }
    }
    
    class Panel extends JPanel
    {
      public Panel()
      { 
        .....
      }
    }
    Il discorso dovrebbe essere lo stesso... forse dovresti dichiarare l'oggetto Frame come final dato che viene usato in una classe interna anonima.
    quindi al posto di "JFrame frame = new JFrame ("esempio");"

    dovresti fare "final Frame frame = new Frame ecc..."

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 © 2025 vBulletin Solutions, Inc. All rights reserved.