Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    306

    [Java] Gestione eventi con jButton

    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

  2. #2
    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.

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    306
    MI sembra una buona idea

    grazie

    solo che è la mia applicazione in java e quindi devo provare,
    hai qualche link con un esempio?

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Se vuoi questa classe dovrebbe fare al caso tuo:
    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();
       }
    }
    Puoi utilizzarlo nel tuo frame in questo modo:
    codice:
    public class MioFrame extends JFrame {
       ...
       private Pulsante p;
       ...
    
       public MioFrame() {
          ...
          p = new Pulsante("Chiudi", this);
          ...
          getContentPane().add(p);
       }
    }
    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

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    306
    OK.

    grazie

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    306
    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.

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Il codice potrebbe essere corretto, solo che hai messo la minuscola al posto della maiuscola:
    codice:
    MyFrame x = new MyFrame();
    x.show();
    Controlla che esista la classe MyFrame.class


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