<Swing Dev> RFR: 8256019: JLabel HTML text does not support translucent text colors
Prasanta Sadhukhan
psadhukhan at openjdk.java.net
Wed Nov 11 08:06:10 UTC 2020
On Wed, 11 Nov 2020 08:00:09 GMT, Prasanta Sadhukhan <psadhukhan at openjdk.org> wrote:
> Issue is a JLabel with a translucent foreground color properly renders plain text, but with HTML text, the alpha component is discarded and the text is rendered using an opaque color.
> As per https://www.w3schools.com/cssref/func_rgba.asp, CSS supports rgba() to support alpha and render translucent text color
> but support for rgba() is not present in JDK html text rendering.
>
> Added support for rgba() to render translucent text color.
src/java.desktop/share/classes/javax/swing/plaf/basic/BasicHTML.java line 76:
> 74: }
> 75: col = new Color(Integer.parseInt(color[0]), Integer.parseInt(color[1]),
> 76: Integer.parseInt(color[2]), (int)(Float.parseFloat(color[3])*255));
It seems OceanTheme in Metal L&F supports only rgb
`ColorUIResource CONTROL_TEXT_COLOR = new PrintColorUIResource(0x333333, Color.BLACK)`
so even when Color(r,g,b,a) is used, it creates rgb color and not rgba
so alpha is obtained and passed separately.
-------------
PR: https://git.openjdk.java.net/jdk/pull/1158
More information about the swing-dev
mailing list