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

我希望单击该按钮时它永远不会更改背景颜色,默认情况下该颜色将更改为浅蓝色灰色。

这是我的代码

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

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

参考方案

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

  • 定义您自己的UI委托并将其分配给按钮。
    缺点:很复杂,破坏了LAF。
  • 扩展JButton并实现paintComponent()
    缺点:您需要自己绘制按钮的标签。
  • 通过调用setContentAreaFilled(false)完全删除按钮的背景画,然后将按钮添加到具有所需背景色的不透明面板中。
    优点:按钮未更改,LAF未损坏。
    缺点:您需要为每个按钮创建一个面板,然后对其进行调整以使其完全适合该按钮,这可能非常困难,具体取决于布局。
  • Java Swing SearchBox模型 - java

    我需要使用Java Swing的搜索框,如果单击任何建议,当输入字母时它将显示来自数据库的建议,它将执行一些操作。如果有可能在Java swing中,请提供源代码提前致谢 java大神给出的解决方案 您可以使用DefaultComboBoxModel,输出将是这样。Try this在此代码中,您将找到countries数组,因此您需要从数据库中获取此数组。

    Java swing-事件触发后,我可以在选项卡上更改名称吗? - java

    一,代码:tab_textArea_file.addTab(docLabel, null, scrollPane_textArea, null); 因此,情况是我有一个可供用户选择的文件列表。用户单击文件时,将读取文件的内容并将其加载到textArea中。 “ docLabel”(在上面的代码中)是应该更改为所选文件名的字符串,但并非如此。是否可以通过上面的…

    Swing-典型桌面应用程序中的并发 - java

    这可能是一个广泛的问题,但我想知道单用户桌面应用程序通常在何处使用并发。您如何发现理想情况下(在设计阶段)并发问题?附注:从操作系统理论上来说,并发问题通常发生在无法共享资源(例如打印机)的情况下。不过,我仍然对在编程级别上可能发生的情况感到迷惑。 java大神给出的解决方案 Event Dispatch thread与其他逻辑之间的Swing中可能存在线程…

    Java-如何使Jtextfield充满整个框架 - java

    我正在尝试使JTextArea填充整个框架,因此它看起来有点像记事本或textedit。也可以有一个滚动窗格。提前致谢!编辑:JTextArea 参考方案 试试这个 - -import java.awt.BorderLayout; import javax.swing.JFrame; import javax.swing.JTextField; public…

    isArmed,isPressed和isSelected之间的区别 - java

    以下方法之间有什么区别:jButton.getModel().isArmed() jButton.getModel().isSelected() jButton.getModel().isPressed() 我不明白该文档对isArmed的说明,其余两个文档都有明显的文档。但是我没有表现出不同的举止。 参考方案 isArmed表示:当用户在JButton上按…