I have a 2D-Array of JButtons
JButton[][] ledBtns = new JButton[8][8];
And in a loop, I do all the init stuff. Now I want to add an EventListener to each JButton, that fires when the Button os clicked. Then I want to change the image on the Button.
for(int i = 0; i < ledBtns.length; i++){
for(int j = 0; j < ledBtns[i].length; j++){
//init stuff
ledBtns[i][j].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
changeImage();
}
});
}
}
Now ‘changeImage()’ will be called, but I need to know what button called it.
I can’t use parameters, if I do it tells me to declare them as ‘final’.
Is there any other way than writing 64 methods, that do exactly the same, and adding them manually to each of the JButtons?
The easiest way to do this is to just declare two temporary final ints, and reference those.