如何在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