Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Array di bottoni

  1. #1

    Array di bottoni

    Ciao a tutti.
    Ho un problema penso banale, ma non riesco a risolverlo.
    Ho un array bidimensionale di bottoni, i quali compiono la stessa azione su un'arraylist, ma su elementi diversi della stessa.
    In particolare, se il bottone premuto è quello in posizione[3][1], l'elemento dell'arraylist interessato è il 31esimo. Si piò recuperare la posizione del bottone premuto.
    Ecco lo scorcio di codice interessato.

    for(i=0; i<10; i++)
    for(j=0;j<10;j++){
    mappa[i][j]=new JButton();
    mappa[i][j].addActionListener(this);
    }

    @Override
    public void actionPerformed (ActionEvent e){
    int buttonIndex = ????
    if(partita.tabellone.caselle.get(buttonIndex).inde ntificativo....

    Grazie.
    Ciao

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    72
    Prova così:
    codice:
    @Override
    public void actionPerformed (ActionEvent e){
        JButton b=(JButton)e.getSource();
        int posizione=0;
        for(int i=0; i<10; i++){
            for(int j=0;j<10;j++){
                if(b==mappa[i][j])
                    posizione=i*10+j
            }
        }
        [....]
    }
    
    }

  3. #3
    Grazie.
    Risolto.

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da fr84
    codice:
        for(int i=0; i<10; i++){
            for(int j=0;j<10;j++){
                if(b==mappa[i][j])
                    posizione=i*10+j
            }
        }
    No .... proprio no! Si estende JButton per aggiungere la/e proprietà utili ad identificarlo nel contesto in cui lo si deve poi usare. Nel caso sopra, un semplice valore intero che indica l'indice su cui operare.
    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
    Apr 2009
    Messaggi
    72
    Originariamente inviato da andbin
    No .... proprio no! Si estende JButton per aggiungere la/e proprietà utili ad identificarlo nel contesto in cui lo si deve poi usare. Nel caso sopra, un semplice valore intero che indica l'indice su cui operare.
    Effettivamente è meglio fare così.. non perdi tempo in inutili ricerche

  6. #6
    andbin, mi potresti dare uno stralcio di codice perchè ho capito quello che intendi, ma non saprei come fare. sempre se non è troppo disturbo.
    grazie mille.
    ciao

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.