我希望按钮点击它永远不会改变背景颜色,默认情况下颜色会变成浅蓝灰色。
这是我的代码
JButton b = new JButton();
b.setBackground(SystemColor.control);
我希望按钮在点击时永远不会改变背景颜色。
最佳答案
按钮的绘制依赖于LAF。您可以执行以下操作之一:
- 定义您自己的 UI 委托(delegate)并将其分配给按钮。 缺点:复杂,破坏LAF。
- 扩展
JButton
并实现paintComponent()
。 缺点:您需要自己绘制按钮的标签。 - 通过调用
setContentAreaFilled(false)
完全删除按钮的背景绘制,然后在不透明面板中添加具有所需背景颜色的按钮。 优点:按钮没有变化,LAF没有坏掉。 缺点:您需要为每个按钮创建一个面板,并调整它以完全适合按钮,这可能非常困难,具体取决于布局。
关于java - Swing JButton 不要更改背景颜色 onclick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3186398/