把重点放在JDialog上

时间:2011-03-04 10:40:40

标签: java swing

我有类InfoDialog,它在Java中扩展了JDialog类。我在使用信息文本建立SSH连接(5或6秒)时显示InfoDialog。如何将重点放在InfoDialog上,用户在InfoDialog失控之前无法做任何事情?

3 个答案:

答案 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