Как именно работает модальная переменная в диалогах Java? - PullRequest
0 голосов
/ 25 сентября 2011

В JavaDocs для Диалог (Dialog, String, модальный) он говорит следующее:

модальный - если 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 голосов
/ 25 сентября 2011

Это частично правильно, но.

Но этого недостаточно, чтобы вызвать конструктор, но вам нужно показать диалог после конструктора следующим образом:

t.setVisible(true);

и да, после этого цикл while не запускается до тех пор, пока диалог не закроется (setVisible(false))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...