gpt4 book ai didi

java - 如何在其他弹出窗口上显示弹出窗口?

转载 作者:行者123 更新时间:2023-11-29 06:15:06 25 4
gpt4 key购买 nike

在我的应用程序中,我在某个屏幕上启动了一个弹出窗口。取决于用户将单击此弹出窗口的哪个按钮,必须启动另一个弹出窗口。我使用 JDialog 对象来实现这些弹出窗口。问题是第二个弹出窗口没有显示(即使使用 setVisible(true) 和 toFront())。它已创建,但我看不到它。我在其构造函数中将第一个弹出窗口定义为其所有者。任何人都可以帮忙吗?

最佳答案

当从父窗口或对话框打开 JDialog 并将其设置为模态时,父窗口的事件调度线程将停止。这可以防止父级被聚焦或传递其他事件,或者在模态对话框关闭之前基本上做任何事情。因此调用阻塞

您必须做的是从其他地方触发您的事件,例如新对话框而不是父窗口,或者不使用模态对话框,而是使用常规 JFrame 并将其设置为始终在顶部使用 setAlwaysOnTop(true)。这意味着用户可以继续使用父窗口,事件仍会从中触发。

附录:针对您的问题“程序专注于显示它而不对必须隐藏它的事件使用react”:当您制作对话框模态时,一旦您使其可见,它就会阻塞父窗口直到它关闭,包括事件触发。如果您需要以编程方式关闭新的弹出窗口,则需要使弹出窗口成为非模态的,或者您需要在新的弹出窗口的上下文中执行后续代码(例如在它变得可见时触发事件)

关于java - 如何在其他弹出窗口上显示弹出窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5395340/

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