Ti conviene estendere JButton e creare una sottoclasse che contiene 1 dato aggiuntivo, cioè l'indice della icona.Originariamente inviato da svarovsci
Ciao a tutti,
premesso che sono alle prime armi nella programmazione java, volevo chiedere aiuto sul mio problema.
Devo fare un amtrice di bottoni nella quale ogni bottone è associato alla stessa immagine .gif e fin qui tutto ok, il problema sorge quando devo modificare l'icona del bottone cliccandoci sopra perchè voglio aggiungere ad ogni click un icona diversa fino ad un massimo di 4 poi dopodichè vorrei ritornare sempre clickkando sul bottone alla prima icona. Comunque in sostanza in base al numero di click dati dall'utente l'immagine è quella associata al numero di click che potrebbe anche essere un numero elevato nonostante le sole 4 icone che voglio aggiungere.
spero di essermi spiegato cmq allego qui sotto il mio codice e spero che qualcuno mi possa aiutare.
A questo punto è banale: quando ricevi l'evento actionPerformed, vai a prendere il componente sorgente dell'evento, verifichi che sia di tipo MyButton, fai il cast a MyButton e quindi prendi l'indice della icona. In base a questo valore imposti la nuova icona.codice:public MyButton extends JButton { private int iconIndex; public MyButton (Icon icon) { super (icon); iconIndex = 0; } public void setIconIndex (int iconIndex) { this.iconIndex = iconIndex; } public int getIconIndex () { return iconIndex; } }