I'm doing a board game project and I'm representing cells by Jbuttons. I made mouseLitener to all the buttons. My question is how to change the icon of the Jbutton when it is clicked ?
Asked
Active
Viewed 1,595 times
4
-
3Don't use a `MouseListener` to detect when a `JButton` is clicked, use an `ActionListener`. – Jeffrey May 21 '12 at 23:06
3 Answers
7
I'm doing a board game project and I'm representing cells by Jbuttons.
use JToggleButton for game based on buttons array and mouse events, rather than
JButton
use ButtonModel instead of any XxxListener
JButton
andJToggleButton
has implemented these methods in the API directly
.
setIcon(Icon i);
setRolloverIcon(Icon i);
setPressedIcon(Icon i);
setDisabledIcon(Icon i);

mKorbel
- 109,525
- 20
- 134
- 319
5
yourButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
yourButton.setIcon(new ImageIcon("yourImage"));
}
});
ActionListener is called when you click on the JButton. This way is used most frequently.

mKorbel
- 109,525
- 20
- 134
- 319

Simon Dorociak
- 33,374
- 10
- 68
- 106