如果没有setEnabled(false),如何将JButton组件设置为不可点击?

时间:2015-07-28 13:51:50

标签: java swing user-interface jbutton

我一直在网上搜索,但还没有找到解决方案。

我有一个JButtons的2D数组。当用户单击该按钮时,我的应用程序当前会将ImageIcon添加到该按钮,并对该按钮执行setEnabled(false)。

这个问题是它会使图像变灰。我希望图像保持全彩,但我想让JButton无法点击。似乎setEnabled()不是我想要的方法。

我已经考虑过从中移除ActionListener但这仍然允许点击操作(即使没有任何事情会发生)。

如何在不禁用它或删除ActionListener的情况下使JButton无法点击?

1 个答案:

答案 0 :(得分:1)

JButton通过灰显原始图标来导出禁用图标。如果您想要禁用按钮但仍然是全彩色图标,请使用以下方法将其禁用图标明确地设置为全彩色图像

button.setDisabledIcon(button.getIcon());

结帐AbstractButton#setDisabledIcon(Icon)

的javadoc