Segue abaixo o código de um metodo que cria os botões pro meu jogo de xadrez.
Ele cria cada botão e dá o valor da casa que ele representa no xadrez (1,0 / 1,1… etc).
Porém não consigo fazer uma maneira de esta InnerClass armazenar APENAS o valor iteral daquele momento da variável.
private void geraBotoes() {
Peca[][] tabuleiro = xadrez.getTabuleiro();
for (int coluna = 0; coluna < tabuleiro.length - 1; coluna++) {
for (int linha = 0; linha < tabuleiro.length - 1; linha++) {
if (tabuleiro[linha][coluna] != null) {
arrayBotoes.add(new JButton(new ImageIcon(tabuleiro[linha][coluna].toString())));
} else {
arrayBotoes.add(new JButton());
}
arrayBotoes.get(arrayBotoes.size()).addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
xadrez.controlaPeca(coluna, linha);
}
});
}
}
}
Então… quero que cada botão retorne um valor próprio, no caso a “posição” que ele representa.
Eu não gostaria de criar 64 ActionListeners afim de dar todas as posições possíveis num jogo de Xadrez.
Queria fazer isso com um “simples” For()…
Alternativas? Quais?