Swing JButton不会改变背景颜色

时间:2010-07-06 13:06:23

标签: java swing onclick jbutton background-color

我希望点击它的按钮永远不会改变背景颜色,默认情况下颜色会变为淡蓝灰色。

所以这是我的代码

JButton b = new JButton();
b.setBackground(SystemColor.control);

我希望按钮在点击时永远不会改变背景颜色。

2 个答案:

答案 0 :(得分:2)

按钮的绘画取决于LAF。您可以执行以下操作之一:

  1. 定义您自己的UI委托并将其分配给按钮。 缺点:复杂,打破了LAF。
  2. 扩展JButton并实施paintComponent()缺点:您需要自己绘制按钮的标签。
  3. 通过调用setContentAreaFilled(false)完全删除按钮的背景画,然后在不透明面板中添加具有所需背景颜色的按钮。 优点:按钮不变,LAF没有坏掉。 缺点:您需要为每个按钮创建一个面板,并将其调整为完全适合按钮,这可能非常困难,具体取决于布局。

答案 1 :(得分:1)

您可以修改用于背景和前景的颜色。你如何做到这取决于你正在使用的外观。

如果您使用的是Nimbus,则会有一个颜色列表herehere是一篇关于如何更改颜色的文章。 here是另一篇可能有用的文章。