Java JLabel在渲染HTML时忽略前景色的alpha值

标签 java html jlabel alpha

当我使用具有 alpha 值的前景色的 JLabel 时,如下所示:

JLabel label = new JLabel( "This is non HTML text with correct alpha color" );
label.setForeground( new Color( 1.0f, 1.0f, 1.0f, 0.5f) );

标签以 0.5-alpha 正确显示,即 50% 灰色。

但是当我将文本更改为 HTML(以更好地控制文本呈现)时,如下所示:

JLabel label = new JLabel( "<html><p>This is HTML text with incorrect alpha color</p></html>" );
label.setForeground( new Color( 1.0f, 1.0f, 1.0f, 0.5f) );

那么标签就是 100% 白色。看来,在渲染 HTML 时,前景色的 alpha 值只是被忽略了。

我在 Windows 7 64 位下使用 Java 1.6.0_26(32 位)。

这是一个错误还是已知的限制,或者我这里有什么问题吗?

最佳答案

您不能将 HTML 代码和 setForeground 样式混合在一起。

参见JLabel html text ignores setFont以及如何使用 Oracle 的 JLabels( 1 ) 教程。

只需使用 HTML 或 JLabel 样式即可。

关于Java JLabel在渲染HTML时忽略前景色的alpha值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12663268/

相关文章:

java - 如何添加jlabel图像悬停?

java - 我的 Google map fragment 显示灰色。我无法显示实际 map

javascript - 如何保持默认结束时间距开始时间 3 小时?

java - 每堂课后清理

html - 在底部显示多个内联div的内容

html - 为什么margin : auto only work horizontally and not vertically?

java - 是否可以使用十进制数(例如 double)来定位 JLabel?

java - JLabel 的 setText() 方法无法正常工作

java - 从 astatic 类获取应用程序

java - 离开 android 中的 Activity 后如何保留 ListView ?