Saudações a todos ,
Alguém poderia me dizer se existe alguma forma mais esperta de se obter o indice do array “clicado” dentro do actionPerformed ?
Fiz uma programação com um for , procurando pelo meuArray[n] que seja igual ao e.getSource(), mas isso me pareceu meio “tosco”.
Considerem o exemplo abaixo
Antecipadamente agradeço !
Ricardo Marcel
import java.awt.;
import java.awt.event.;
class Teste extends Frame implements ActionListener {
private TextField T;
private Button[] meuArray;
public Teste() {
setSize(400, 400);
setLayout( new GridLayout(3,3));
T = new TextField();
add(T);
meuArray = new Button[5];
for (int cont = 0 ; cont <= 4; cont++ ) {
meuArray[cont] = new Button(cont);
meuArray[cont].addActionListener(this);
add(meuArray[cont]);
}
}
public void actionPerformed (ActionEvent e )
{
int indice = 0;
for (int cont = 0 ; cont <= 4; cont++ ) {
if ( e.getSource() == meuArray[cont] )
{
indice = cont;
}
}
T.setText("Selecionado" + indice + "do array");
}
public static void main(String args[]) {
Teste mainFrame = new Teste();
mainFrame.show();
}
}