【发布时间】:2020-05-10 09:00:25
【问题描述】:
在 IntelliJ 中,我使用的是 Java8 和 JavaSwing (GUI)。我有一个 jToggle 按钮,我想根据是否单击它来更改颜色。我对按钮的形状和弯角很好,只是想改变按钮的通用蓝色。 我目前有:
laserOnOff.setBackground(Color.GREEN);
laserOnOff.setOpaque(true);
laserOnOff.setBorderPainted(false);
但这会改变按钮的形状,当我切换按钮时,只有文本的背景会改变颜色。 我也试过了
UIManager.put("ToggleButton.select", Color.GREEN);
SwingUtilities.updateComponentTreeUI(laserOnOff);
但这没有用。 改变 jToggle 按钮颜色的简单方法是什么?
【问题讨论】:
-
简短的回答是 - 不。绘制的主体是特定于外观的,而不是 Swing 本身
-
@MadProgrammer 你能详细说明一下吗?
-
contentAreaFilled属性确定平台外观是否绘制任何“附加”内容(花哨的边框和阴影),然而,它很少考虑背景颜色,即填充按钮的其余部分。您可以尝试查看该平台的ButtonUI,但这会变得一团糟,因为您需要考虑代表的每一个外观和感觉
标签: java swing user-interface button