Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    726

    [JAVA] Problemi con actionPerformed

    Ho il frame diviso in 2 con BorderLayout.

    Sulla sinistra c'è un menu con pulsanti, al centro ci sono dei tab che ho resto statici, all'interno dei quali ci sono altri tab, sempre statici.

    Ok, dicevo che nella parte sinistra del frame ci sono tutta una serie di pulsanti (solo uno al momento), questi che vanno a richiamare una volta cliccati un particolare tab, ed eventualmente sottotab.

    Sostanzialmente ha funzionato tutto fino a quando non ho inserito nel metodo actionEvent una serie di if per gestire tutti i pulsanti che dovranno esser presenti, ma non funziona più nulla.

    Vi metto un po' di codice:

    codice:
    static JTabbedPane tabCentrale; // tab principale, quello che verrà visualizzato al centro del frame
    static MenuTab inserisciTab; // tab che viene reso disponibile quandi si clicca su un certo tab
    parte della classe relativa alla parte sinistra del frame chiamata "Menu"
    codice:
     JButton inserisciCliente;
     inserisciCliente = new JButton("Inserisci CLIENTE",imgInserisci);
     add(inserisciCliente);
     inserisciCliente.addActionListener(new Ascoltatore());
    Classe interna a "Menu"

    codice:
     class Ascoltatore implements ActionListener
     {
      public void actionPerformed(ActionEvent e)
      {
       Object o = e.getSource();
            
        if (o == "inserisciCliente")
        {
         Avvio.tabCentrale.setSelectedIndex(0);
         Avvio.inserisciTab.setSelectedIndex(1);
        }
       }
      }
    Il problema riguarda la classe interna a Menu, quella che gestisce l'evento.
    Se io eliminassi il controllo, funzionerebbe tutto senza intoppi, però siccome devo andare a gestire più pulsanti, non posso fare n classi interne per n pulsanti.

    Consigli??

    tnx!

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Mi domando: secondo te e.getSource() cosa restituisce?
    Risposta: l'oggetto che ha generato l'evento.

    E l'oggetto è una stringa o un pulsante? Risposta... un pulsante...

    Quindi:
    codice:
    class Ascoltatore implements ActionListener
     {
      public void actionPerformed(ActionEvent e)
      {
       Object o = e.getSource();
            
        if (o == <nome del pulsante>)
        {
         Avvio.tabCentrale.setSelectedIndex(0);
         Avvio.inserisciTab.setSelectedIndex(1);
        }
       }
      }
    P.S.: Spero che tu sappia perchè in questo caso si può usare l'operatore = = al posto del metodo equals().


    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
    Nov 2003
    Messaggi
    726
    Oddio che rimbambito



    tnx!

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    C'è un mio esempio in questo post.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    726
    Originariamente inviato da andbin
    C'è un mio esempio in questo post.
    No vabbè, gia in questo periodo sto sfasatissimo, ma poi mi sono messo a scrivere quella cosa ieri notte...

    Non dico altro.

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.