java - Swing JButton 不要更改背景颜色 onclick

标签 java swing onclick jbutton background-color

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

这是我的代码

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

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

最佳答案

按钮的绘制依赖于LAF。您可以执行以下操作之一:

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

关于java - Swing JButton 不要更改背景颜色 onclick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3186398/

相关文章:

java - 如何按集合的值流式传输 map ?

java - 用户从 JTable 中删除一行

java - 在键和值中转义 JSON 的双引号?

java - 为什么 private static field = new Singleton 在 Java 中不懒惰?

java - Swing 中的 Round Double 值

java - 如何在 JMenuBar 和 JToolbar 之间创建分隔

javascript onclick 不工作?

php - onclick 不适用于 <li>

javascript - 单击将 JS 变量发送到 PHP

java - 如何在intellij idea中从oracle数据库生成实体?