我正在尝试在setBackground上调用JPanel,以便它与我的JFrame的颜色匹配,但是该颜色比我键入的颜色要明亮得多。

我已经尝试设置HSB,RGB,HEX代码,它们都给我相同的颜色,这是我的颜色的明亮版本。

不太了解如何获得我想要的颜色?

编辑:

我从Photoshop获得颜色。我查找正确的颜色(我想要的)并复制HSB RGB或HEX代码。它在Photoshop中看起来应该是应该的,但是java给我提供了更明亮的颜色?

我已经使用了Java代码:

Color color = new Color(0x94b3c7);

    jpanel.setBackground(color);

最佳答案

物质正在“着色”您的背景色,以尝试添加一些主题的颜色。如果使用不同的皮肤,则会得到不同的结果。例如,秋天的皮肤会使东西变得很橙色。通过将客户端属性org.pushingpixels.substance.api.SubstanceLookAndFeel#COLORIZATION_FACTOR设置为1.0,可以逐个组件地对此进行更改。例如:

frame.putClientProperty(SubstanceLookAndFeel.COLORIZATION_FACTOR, 1.0)

这将指示背景画家使用用户指定的背景颜色的100%,而不是使用颜色的50%。

也可以全局设置...
UIManager.put(SubstanceLookAndFeel.COLORIZATION_FACTOR, 1.0);

再次,受每个组件覆盖。如果未设置,则默认的着色因子为0.5

07-26 06:34