Not sure what to ask here

I agree with @bpreston. The mouseClicked event causes a LOT of headaches. Any cursor movement during the click will prevent the event from firing. You can see this if you press and hold, move your cursor just one pixel, and release - the mouseClicked event will not fire. But if you press and hold, keep the cursor on the same pixel, and release - the mouseClicked event will fire. So if anyone is quickly moving their cursor to click on the buttons, it is very likely that they will move their cursor at least a little bit during the clicking action - preventing the mouseClicked event from firing.

For buttons you definitely want to use actionPerformed. But for components that do not have an actionPerformed event, it is usually better to use mousePressed or mouseReleased (or both). You will find that they a lot more consistent, from a user experience perspective.

3 Likes