如何在java中更改禁用的JButton的外观
我正在制作游戏,当我用setEnabled(false);
禁用按钮时setEnabled(false);
按钮变为灰色,与游戏中的其他颜色发生冲突。 它们是一种在禁用按钮时更改按钮颜色的方法吗?
您可以在按钮中添加HTML编码,即使是禁用按钮,也可以提供大范围的灵活性。
Example: button.setText("3");
如果您正在谈论文本,那么您可以使用UIManager更改禁用的前景色。 查看UIManager默认值 。
在按钮上调用setContentAreaFilled(false)会使按钮看起来像是被禁用,即使它不是。 但是,它似乎并没有相反的方式。
如果你不需要你的按钮看起来启用,那么这是一个很好的解决方案。
Docs Oracle
您将要修改您正在使用的外观 。 有很多可供下载的,你当然可以自己制作。
您还可以使用JButton.setDisableIcon()设置禁用图标
按钮的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);
我不是百分之百,但我认为你可以覆盖按钮玻璃板的油漆方法,用你选择的颜色覆盖它。
这是一个关于容器窗格的教程:
http://java.sun.com/docs/books/tutorial/uiswing/components/rootpane.html