Patrick Sebastien
Patrick Sebastien

Reputation: 342

How do I set a JButton component to be NOT clickable without setEnabled(false)?

I have been searching on the web for this but have not found a solution.

I have a 2D array of JButtons. When the user clicks the button, my application currently adds an ImageIcon to that button and does setEnabled(false) to the button.

The problem with this is that it greys out the image. I want the image to stay in full colour but I want to make the JButton not clickable. It would seem that setEnabled() is not the method that I want.

I have considered removing the ActionListener from it yet this would still allow the action of a click (even though nothing would happen).

How do I make a JButton unclickable without disabling it or removing the ActionListener?

Upvotes: 0

Views: 3209

Answers (1)

Santhosh Kumar Tekuri
Santhosh Kumar Tekuri

Reputation: 3020

JButton derives disabled icon by graying out original icon. if you want the button to be disabled but still the icon in full color, set its disabled icon explictly to full color image using following method

button.setDisabledIcon(button.getIcon());

checkout the javadoc for AbstractButton#setDisabledIcon(Icon)

Upvotes: 1

Related Questions