Observem o seguinte trecho:
class TabuleiroX{
JButton b[][]=new JButton[][];
…
void poe_nome(){
for(int i=0;i<15;i++){
for(int j=0;j<15;j++){
b[i][j].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
b[i][j].setText("Linha: "+i+"Coluna: "+j);
}
});
}
}
}
Me ajudem a solucionar o problema… o eclipse aponta o erro dizendo que as variaveis i e j tem q ser finais, e mesmo fazendo isso, aparece outro erro com a variavel J…
Obrigado
Você não pode fazer isso desse jeito, uma variavel local só pode ser acessada de uma subclasse se ela for final, porem se ela é final você não pode incrementa-la (i++, j++):
Tente assim:
void poe_nome(){
for(int i=0;i<15;i++){
for(int j=0;j<15;j++){
final JButton btn = b[i][j];
final String nome = "Linha: "+i+"Coluna: "+j;
btn.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
btn.setText(nome);
}
});
}
}
}