Modal JDialog没有阻塞执行

dev*_*ull 8 java swing modal-dialog jdialog

有没有办法如何在Swing中使用一个禁止任何gui活动的对话框,但同时又不停止在设置为可见的线程上执行?

Mr *_*der 6

是的,可以做到.

dlg.setModal(false);
Run Code Online (Sandbox Code Playgroud)

要么

dlg.setModalityType(Dialog.ModalityType.MODELESS);
Run Code Online (Sandbox Code Playgroud)

其中dlg是JDialog的实例.

  • 它不会阻止 GUI 活动。 (4认同)

Zah*_*lii 2

JDialog 的基本思想是阻塞底层线程,直到用户对其做出反应。如果您需要在 UI 线程上运行某些不应被中断的内容,请考虑为其使用额外的工作线程。这样,UI 将被 JDialog 阻止,但底层进程不会。