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?
Thanks!
Michael Dunn
Ranch Hand
Joined: Jun 09, 2003
Posts: 4632
posted
0
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
Jay Aranguren
Greenhorn
Joined: May 08, 2004
Posts: 3
posted
0
I think you can also just set the action command for each of the buttons. But I like the solutions Michael posted above better
SCJP<br />SCWCD
Rachel Swailes
Ranch Hand
Joined: May 18, 2004
Posts: 434
posted
0
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.