I have an array of JButtons, and I don't know how to determine which one was clicked. I know how to do it if each button had a different text (i.e. Ok, Cancel, etc.), but in my case they all have the same exact text (I'm writing a poker game).
Here is a sample of my code...
What can I do in the actionPerformed method in order to determine which button was pressed?
Joined: Jun 09, 2003
here are some of the ways you could do this
1. in actionPerformed() iterate the button array checking if it is the source (the button array will need the necessary scope)
2. add a separate actionListener to each button, each with it's own actionPerformed(), then have a separate method that takes an identifier as a parameter
3. create your own JButton, adding an ID then, in actionPerformed you cast the source as MyButton, and get the ID
Joined: May 08, 2004
I think you can also just set the action command for each of the buttons. But I like the solutions Michael posted above better
Joined: May 18, 2004
Instead of option three above, you can use the myButton.setName("my button's name") to give each button an identifier. Then you use .getName() to retrieve the name when you need it.