Ciao a tutti,
Se creo una mia classe jButton da poter utilizzare in più frame posso poi avere un evento generico come ad esempio chiudere il frame attualmente aperto????
Al
Ciao a tutti,
Se creo una mia classe jButton da poter utilizzare in più frame posso poi avere un evento generico come ad esempio chiudere il frame attualmente aperto????
Al
Potresti implementare l'interfaccia ActionListener nella tua classe JButton in modo che si gestisce sola gli eventi azione. Poi gli passi il riferimento del frame nel costruttore della classe stessa e chiami i metodi di chiusura del frame nel metodo actionPerformed della tua classe JButton.
MI sembra una buona idea
grazie
solo che è la mia applicazione in java e quindi devo provare,
hai qualche link con un esempio?
Se vuoi questa classe dovrebbe fare al caso tuo:
Puoi utilizzarlo nel tuo frame in questo modo:codice:public class Pulsante extends JButton implements ActionListener { private JFrame f; public Pulsante(String testo, JFrame f) { super(testo); this.f = f; addActionListener(this); } public void actionPerformed(ActionEvent ae) { // Chiude il frame: f.dispose(); } }
Ciao.codice:public class MioFrame extends JFrame { ... private Pulsante p; ... public MioFrame() { ... p = new Pulsante("Chiudi", this); ... getContentPane().add(p); } }![]()
"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
OK.
grazie![]()
come posso inserire l'apertura di un nuovo frame prima di chiudere il frame.
cioè
all'onClick deve si chiudere il frame passato ma ne deve aprire uno nuovo.
ora se inserisco
myFrame x = new MyFrame()
x.show();
prima del
f.dispose();
mi da errore non risolve il tipo.
Il codice potrebbe essere corretto, solo che hai messo la minuscola al posto della maiuscola:
Controlla che esista la classe MyFrame.classcodice:MyFrame x = new MyFrame(); x.show();
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