Java:
public void setNewField(int x,int y,int width,int height){
for (int i = 0; i < 64; i++) {
buttonArray[i] = new JButton();
buttonArray[i].setBackground(Color.gray);
buttonArray[i].setBounds(i%8*(width/8)+x,i/8*(height/8)+y,width/8,height/8);
if (i%2 == 1)
{
if ((i/8)%2 == 1)
{
buttonArray[i].setBackground(Color.WHITE);
}
}
else{
if ((i/8)%2 == 0)
{
buttonArray[i].setBackground(Color.WHITE);
}
}
panelButton.add(buttonArray[i]);
buttonArray[i].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
System.out.println(i);
}
});
}
}
Ich hab ein ButtonArray (buttonArray) wo ich jeweils dann den Buttons die Position und den ActionListener zuweise. jedoch will ich, wenn ich auf buttonArray[a] klicke, soll a in der Konsole ausgegeben werden. Ich weiß wo der Fehler ist, und zwar das i eine lokale Variable ist, jedoch hab ich keine Ahnung wie ich das Problem beheben kann. Hat Jemand eine Lösung??
mfg. Luecx