gpt4 book ai didi

java - AWTUtilities setWindowOpaque 导致问题

转载 作者:行者123 更新时间:2023-11-30 11:51:14 24 4
gpt4 key购买 nike

我有一个模态 JDialog,我通过调用 com.sun.awt.AWTUtilities 将其设置为非不透明的方法,setWindowOpaque(this, false)

当我将模态 JDialog 设置为非不透明时遇到问题。例如,当我单击一个非不透明对话框的按钮时,它会正确弹出,但在打开和关闭对话框几次后,它确实会打开。它是不可见的;而且,由于它是模态的,我们无法单击包含在父面板中的按钮。就像它被卡住了,但这只是因为模态对话框。

如果我删除对方法 setWindowOpaque(this, false) 的调用,它可以正常工作。

有人知道这是怎么回事吗?

我在 Windows XP 上使用 Java 版本“1.6.0_26”。

谢谢。

最佳答案

好吧,有一个类似的问题,有时窗口没有响应,或者透明度被破坏......奇怪的问题。

至少对我来说,解决方案是在 invokeLater 中调用 new TransparentWindow():

SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
TransparentWindow w = new TransparentWindow();
w.setVisible(true);
}
});

TransparentWindow 是一个扩展 JWindow 的类,它使用 com.sun.awt.AWTUtilities.setWindowOpaque(window,false); 创建一个带有圆角透明角的透明窗口,如下所述:Soft clipping and per-pixel translucency for Swing windows

关于java - AWTUtilities setWindowOpaque 导致问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7576066/

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