Ben*_*Ben 5 java swing jframe opacity
是的,这个问题无处不在.但是所有(工作)解决方案都使用受限制的AWTUtilities工具包.
所以.我只想控制窗口的不透明度.无需塑造或不整洁.只是一个透明的contentPane(简单)和透明的JFrame背景(非常困难).
我可以发誓我昨天得到了正确的组合,但现在我似乎无法重现它.还有一些解决方案没有使用AWTUtilities,但它们不起作用......有人有一个很好的解决方案吗?
我失败代码的一个例子:
public static void main(String[] args) {
JFrame test = new JFrame();
test.setSize(400, 400);
test.setLocationRelativeTo(null);
test.setUndecorated(true);
test.setBackground(new Color(0, 0, 0, 0));
test.getContentPane().setBackground(new Color(0,0,0,0));
test.setVisible(true);
}
Run Code Online (Sandbox Code Playgroud)
但这只是一个白色的方块.关闭但没有雪茄.我也尝试重写绘制方法,有人在说丢弃alpha通道的东西,但这使它变黑(当然).所以...... Stack Overflow就是这样.
如果有一个完全回答这个问题的骗局,请指出我,我会马上删除.
更新 评论中的每个请求,这是我如何到达这里的历史记录:
每个人到达的第一个环节是如何创建半透明和形状的窗户. 这里有几行类似于"......半透明的框架,不透明度为75%".所以...看起来它们的定义是相同的,至少在那篇文章中.不幸的是他们使用图书馆.
我可以追逐的几个链接:
在http://www.java-gaming.org/index.php?topic=24635.0上报告了一个不起作用的"工作"解决方案,这显示了一些希望,但我无法使其正常工作.
http://techgearup.wordpress.com/2008/09/19/transparent-jframe-background/是一种使用屏幕截图的hackish方式,并且在其他一些地方也是重复的.
如果不使用 Java v.6u10+ 或调用本机代码的第三方库,您就无法做到这一点。在 Swing Frames 中,对话框和 Windows 被视为“顶级组件”,并在底层窗口系统中呈现。在 Java v6u10 之前,所有顶级组件都有默认的、不透明的浅灰色背景,并且无法从 Java 代码中更改此背景。
| 归档时间: |
|
| 查看次数: |
807 次 |
| 最近记录: |