【发布时间】:2014-07-23 17:38:31
【问题描述】:
我很想在 Ubuntu 14.04 下让 swing 组件透明度正常工作。例如,如果我使用SwingJD library,则有光泽的按钮在 Windows 和 OSX 下可以正确渲染,但有些(不是全部 - 我已经检查了源代码,但无法弄清楚正确渲染的按钮和那些失败的)在 Ubuntu 14.04 下不能正确渲染。我也尝试过让 JToolBar 等组件变成半透明但无济于事。我知道 Swing 和 Linux 在透明度方面存在问题,并且我已经尝试了here、here、here 和 here 给出的解决方案,但没有成功。有没有人找到解决这个问题的方法?我不想只为 Linux 用户创建一个不太美观的 UI。
here's a direct link 到 SwingJD 源 jar,如果您想自己重新创建问题。它带有一个测试类,该类有一个 main 方法,该方法将呈现三个按钮,其中两个在 Ubuntu 下无法正确呈现。
EDIT>> SwingJD 的构造函数
“STANDARD_ORANGE_THEME”有效,而“STANDARD_LIGHT_ORANGE_THEME”无效
case Theme.STANDARD_ORANGE_THEME:
buttonColor = new GradientPaint(0, 0, new Color(251, 139, 62), 0,
height, new Color(255, 102, 0));
button.setForeground(Color.WHITE);
break;
case Theme.STANDARD_LIGHTORANGE_THEME:
buttonColor = new GradientPaint(0, 0, new Color(247, 174, 24), 0,
height, new Color(255, 133, 0));
button.setForeground(Color.WHITE);
break;
【问题讨论】:
标签: java linux swing ubuntu transparent