gpt4 book ai didi

java - Swing:如何禁止 JFrame/JDialog 之外的交互?

转载 作者:行者123 更新时间:2023-12-03 18:18:33 25 4
gpt4 key购买 nike

我想在执行线程时显示进度条并阻止与我的应用程序框架的交互。

在另一个线程中,有人建议使用 JDialog 而不是 JFrame 和 setModal(true)。但是,这样做时对话框会阻塞整个应用程序。

这基本上是我的代码:

 MyDialog dlg = new MyDialog(); 
dlg.setModal(true);
dlg.setVisible(true);

//do some stuff....
//(never executed when setModal(true)

dlg.setVisible(false);

最佳答案

最简单的方法是使用 JXLayer 和 LockableUI。看here有关如何完成此操作的示例。

另请注意,JXLayer 已纳入 Java 7,并可作为 javax.swing.JLayer 使用。 .

另一件事是,您不应该在事件调度线程中执行长时间运行的任务。了解 SwingWorkerlearn to write multithreaded code for Swing .

关于java - Swing:如何禁止 JFrame/JDialog 之外的交互?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10851760/

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