gpt4 book ai didi

Java - ol' 透明 JFrame,没有限制库

转载 作者:搜寻专家 更新时间:2023-11-01 00:52:32 24 4
gpt4 key购买 nike

是的,这个问题无处不在。但是所有(有效的)解决方案都使用受限制的 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);
}

但这只是一个白色的方 block 。关闭但没有雪茄。我也试过覆盖 paint 方法,有人说要扔掉 alpha channel ,但这使它变黑了(当然)。所以...它是 Stack Overflow。

如果有完全正确回答这个问题的骗子,请指出,我会立即删除。

更新根据评论中的要求,这是我如何到达这里的历史:

每个人到达的第一个链接是how to create translucent and shaped windows.这里面有几行类似于“......具有 75% 不透明度的半透明框架”。所以...看起来它们的定义相同,至少在那篇文章中是这样。不幸的是,他们使用图书馆。

几个我可以找到的链接:

http://www.java-gaming.org/index.php?topic=24635.0 处报告了一个无效的“有效”解决方案这显示出一些希望,但我无法让它发挥作用。

http://techgearup.wordpress.com/2008/09/19/transparent-jframe-background/是一种使用屏幕截图的骇人听闻的方式,并且在其他几个地方也有重复。

最佳答案

如果不使用 Java v.6u10+ 或调用 native 代码的第三方库,则无法执行此操作。在 Swing Frames 中,对话框和窗口被认为是“顶级组件”,并在底层窗口系统中呈现。在 Java v6u10 之前,所有顶级组件都有一个默认的、不透明的浅灰色背景,并且无法从 Java 代码中更改它。

关于Java - ol' 透明 JFrame,没有限制库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7648403/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com