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
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
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.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?
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
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??
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
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)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
così chudo tutto...![]()
devo solo chiudere una finestra non tutte quante...
Ah scusa allora ho letto maleOriginariamente inviato da Eragorn87
così chudo tutto...![]()
devo solo chiudere una finestra non tutte quante...
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);
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.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() { ..... } }
quindi al posto di "JFrame frame = new JFrame ("esempio");"
dovresti fare "final Frame frame = new Frame ecc..."