我有类InfoDialog,它在Java中扩展了JDialog类。我在使用信息文本建立SSH连接(5或6秒)时显示InfoDialog。如何将重点放在InfoDialog上,用户在InfoDialog失控之前无法做任何事情?
答案 0 :(得分:5)
我认为你不能锁定整个美国,但你可以通过设置模态来锁定你的应用程序。请参阅API of JDialog或执行以下操作:
JDialog info = new JDialog();
info.setModal(true);
答案 1 :(得分:3)
我认为您正在寻找Modality:
模态定义是否
新的模态模型使开发人员能够限制或限制对话框的模态阻止。
Java SE 6支持以下模态类型:
无模式 - 无模式对话框 不会阻止任何其他窗口 它是可见的。
文档模式类型 - 文档模式对话框会阻止所有 来自同一文件的窗户,除了 来自其子层次结构的窗口。在 在这个背景下,一个文件是一个 共享一个窗口的层次结构 共同的祖先,称为文件 root,这是最近的祖先 没有所有者的窗口 应用模式类型 - An 应用程序模式对话框块 来自同一应用程序的所有窗口, 除了孩子的窗户 层次结构。如果是几个小程序 在浏览器环境中启动了 允许浏览器对待它们 作为单独的应用程序或作为 一个应用程序。这种行为是 实现有关。
工具包 - 模式类型 - 工具包模式 对话框阻止所有运行的窗口 在同一个工具包中,除了windows 从其子层次结构。如果好几个 小程序启动,所有小程序都运行 使用相同的工具包。因此,a 工具箱模式对话框显示 applet可能会影响其他applet和 浏览器实例的所有窗口 嵌入Java运行时 此工具包的环境。
您可以在creation:
时定义模态JDialog dialog = new JDialog(owner, Dialog.ModalityType.DOCUMENT_MODAL);
或later:
dialog.setModalityType(type)
*还有一个级别:系统级模态,但只有Java才能实现这一点。
答案 2 :(得分:3)
另一种选择是为此使用Progress Bar。