我正在制作一个游戏,当我用setEnabled(false);禁用一个按钮时,按钮会变成灰色,这与游戏中的其他颜色冲突。当按钮被禁用时,它们是不是可以改变按钮颜色的方法?
setEnabled(false);
qxgroojn1#
您可以添加HTML编码到您的按钮,这给了很大的灵活性,甚至禁用按钮。
Example: button.setText("<html><font color = red>3</font></html>");
lg40wkob2#
如果你说的是文本,那么你也许可以使用UIManager来改变禁用的前景色。
bvhaajcl3#
在按钮上调用**setContentAreaFilled(false)**会使按钮看起来像是被禁用的,即使它没有被禁用。然而,它似乎没有起相反的作用。如果你不需要你的按钮看起来启用,那么这是一个很好的修复。Oracle文档
9gm1akwq4#
您还可以使用JButton.setDisableIcon()设置禁用图标
lx0bsm1f5#
你可能想修改你正在使用的Look and Feel,有很多可以下载,当然你也可以自己做。
ua4mk5z46#
该按钮的ButtonUI控制禁用的文本颜色。幸运的是,您可以更改它:
ButtonUI
button1.setUI(new MetalButtonUI() { protected Color getDisabledTextColor() { return Color.BLUE; } }); button1.setEnabled(false); button2.setUI(new MetalButtonUI() { protected Color getDisabledTextColor() { return Color.RED; } }); button2.setEnabled(false);
**注意:**JButton使用的缺省UI类是ButtonUI
1tu0hz3e7#
最简单的解决方案是:
yourButton.setContentAreaFilled(false);
只需将布尔值更改为true即可轻松恢复:
yourButton.setContentAreaFilled(true);
k4emjkb18#
我不是100%在这一点上,但我认为你可以覆盖按钮的glasspane油漆方法覆盖它与您选择的颜色。下面是一个关于容器窗格的教程:http://java.sun.com/docs/books/tutorial/uiswing/components/rootpane.html
8条答案
按热度按时间qxgroojn1#
您可以添加HTML编码到您的按钮,这给了很大的灵活性,甚至禁用按钮。
lg40wkob2#
如果你说的是文本,那么你也许可以使用UIManager来改变禁用的前景色。
bvhaajcl3#
在按钮上调用**setContentAreaFilled(false)**会使按钮看起来像是被禁用的,即使它没有被禁用。然而,它似乎没有起相反的作用。
如果你不需要你的按钮看起来启用,那么这是一个很好的修复。
Oracle文档
9gm1akwq4#
您还可以使用JButton.setDisableIcon()设置禁用图标
lx0bsm1f5#
你可能想修改你正在使用的Look and Feel,有很多可以下载,当然你也可以自己做。
ua4mk5z46#
该按钮的
ButtonUI
控制禁用的文本颜色。幸运的是,您可以更改它:**注意:**JButton使用的缺省UI类是ButtonUI
1tu0hz3e7#
最简单的解决方案是:
只需将布尔值更改为true即可轻松恢复:
k4emjkb18#
我不是100%在这一点上,但我认为你可以覆盖按钮的glasspane油漆方法覆盖它与您选择的颜色。
下面是一个关于容器窗格的教程:
http://java.sun.com/docs/books/tutorial/uiswing/components/rootpane.html