Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    6

    Gestione eventi array di button

    Salve a tutti,
    sto cercando di gestire un array di bottoni ma non capisco come fare..
    di solito nell' actionPerformed uso il seguente codice (per gestire un bottone specifico)

    codice:
    if (e.getSource==nomeBottone){
        System.out.print("bla");
    }
    ma avendo io una lista di bottoni come faccio a gestirla?
    ho provato a fare stupidamente :

    codice:
    if (e.getSource==bottoni[0]){
       System.out.print("bla");
    }
    ma non mi stampa nulla.
    Spero possiate essermi di aiuto,
    cordiali saluti

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da bull93 Visualizza il messaggio
    ma avendo io una lista di bottoni come faccio a gestirla?
    Innanzitutto il punto non è tanto come riconoscere il pulsante nel actionPerformed .... il vero punto è avere chiaro quali azioni devono fare e in che cosa si differenziano queste azioni.
    Quindi inizia a precisare questo, se vuoi ottenere risposte più accurate.

    Quote Originariamente inviata da bull93 Visualizza il messaggio
    codice:
    if (e.getSource==bottoni[0]){
       System.out.print("bla");
    }
    A parte che ovviamente è getSource() ma comunque non c'è nulla di sbagliato in questo ... confronti un reference (il "source") con il reference di uno dei pulsanti. Tecnicamente è corretto.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Quote Originariamente inviata da bull93 Visualizza il messaggio
    codice:
    if (e.getSource==bottoni[0]){
       System.out.print("bla");
    }
    ma non mi stampa nulla.
    Spero possiate essermi di aiuto,
    cordiali saluti
    bottoni cosa contiene?
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    6
    io sto implementando una dama
    quindi ho fatto le celle della scacchiera come bottoni.
    Ora attraverso un' altra classe devo controllare se la cella cliccata e' occupata o no da una pedina
    ma per ora vorrei semplicemente vedere se una determinata cella mi stampa qualcosa se selezionata,
    ma non mi stampa nulla
    il codice dell' actionPerformed e' :
    codice:
    public void actionPerformed(ActionEvent e){
       if (e.getSource()==celle[0]){
         System.out.print("cella 0");
       }
    }

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    6
    bottoni (o celle) e' un semplice array di button

    codice:
    Button celle[]=new Button[64];
    for(int i=0;i<63;i++){
    celle[i]=new Button(""+i);
    }

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da bull93 Visualizza il messaggio
    io sto implementando una dama
    quindi ho fatto le celle della scacchiera come bottoni.
    Ora attraverso un' altra classe devo controllare se la cella cliccata e' occupata o no da una pedina
    Questo non è tanto un problema di gestione degli eventi. Si tratta di avere "dietro" a tutto questo la/le struttura/e dati opportune e la logica necessaria.

    Quote Originariamente inviata da bull93 Visualizza il messaggio
    ma per ora vorrei semplicemente vedere se una determinata cella mi stampa qualcosa se selezionata,
    ma non mi stampa nulla

    codice:
    public void actionPerformed(ActionEvent e){
       if (e.getSource()==celle[0]){
         System.out.print("cella 0");
       }
    }
    codice:
    Button celle[]=new Button[64];
    for(int i=0;i<63;i++){
    celle[i]=new Button(""+i);
    }
    Se per "Button" intendi java.awt.Button e su ognuno di questi Button hai registrato il ActionListener che ha quel actionPerformed mostrato ..... tecnicamente è corretto e non vedo nulla che sia palesemente sbagliato.

    Se però nella classe hai una variabile 'celle' di "istanza" (usata nel actionPerformed) e quel Button celle[] che vedo sopra è una variabile locale in un metodo che "nasconde" quella di istanza .... allora il problema è lì.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.