Java Dialogs中的模态变量究竟是如何工作的?

时间:2011-09-25 10:58:22

标签: java dialog modal-dialog

Dialog(Dialog,String,modal)的JavaDocs中,它说明了以下内容:

  

模态 - 如果为true,则对话框在显示时阻止输入到其他应用程序窗口

如果我理解正确,如果我将true参数传递给Dialog的构造函数,它是否会暂停所有程序,直到用户使用此对话框向应用程序提供某种输入?

例如,假设我们在一个类中使用此函数,并JDialog调用test

 public void function(){

  /*line*/   test t = new test(null, true); 

             while(true){
             System.out.println("print stuff");
        }
     }

如果我调用此函数,它会在line处暂停,然后由于初始对话框为空,如果我关闭对话框,则会执行while循环。

短语“程序暂停直到用户输入使用 对话框”是一个有点正确的描述模态变量对哪些有用?

1 个答案:

答案 0 :(得分:0)

部分正确,但是。

但是调用构造函数是不够的,但是你需要在构造函数之后显示对话框:

t.setVisible(true);

是的,在此之后,while循环在对话框未关闭之前不会启动(setVisible(false)