Сосредоточиться на JDialog - PullRequest
1 голос
/ 04 марта 2011

У меня есть класс InfoDialog, который расширяет класс JDialog в Java. Я показываю InfoDialog, когда я устанавливаю соединение SSH (5 или 6 секунд) с информационным текстом. Как сфокусировать внимание на InfoDialog, чтобы пользователь больше ничего не мог сделать, пока InfoDialog не убежит?

Ответы [ 3 ]

5 голосов
/ 04 марта 2011

Я не думаю, что вы можете заблокировать всю ОС, но вы можете определенно заблокировать свое приложение, установив его модальным. Посмотрите API JDialog или сделайте что-то вроде этого:

 JDialog info = new JDialog();
 info.setModal(true);
3 голосов
/ 04 марта 2011

Другой вариант - использовать для этого Индикатор выполнения .

3 голосов
/ 04 марта 2011

Я думаю, что вы ищете Модальность :

Модальность определяет, будет ли

Новая модальная модель позволяет разработчику ограничивать или блокировать модальность диалогового окна.

В Java SE 6 поддерживаются следующие типы модальности:
немодальный тип - немодальное диалоговое окно не блокирует другие окна, пока это видно.
Документ модального типа - Модальное диалоговое окно документа блокирует все окна из того же документа, кроме окна из его дочерней иерархии. В В этом контексте документ является иерархия окон, которые разделяют общий предок, называется документ корень, который является ближайшим предком окно без владельца.
Модульный тип приложения - An блоки модального окна приложения все окна из одного приложения, кроме окна от своего ребенка иерархия. Если несколько апплетов запущен в среде браузера, браузеру разрешено их лечить либо как отдельные приложения, либо как одно приложение. Такое поведение зависит от реализации.
Инструментарий-модальный тип - Инструментарий-модальный диалоговое окно блокирует все запущенные окна в том же инструментарии, кроме windows из его дочерней иерархии. Если несколько апплеты запущены, все они запускаются с тем же инструментарием. Следовательно, диалоговое окно с набором инструментов апплет может повлиять на другие апплеты и все окна экземпляра браузера который встраивает среду выполнения Java среда для этого инструментария.

Вы можете определить модальность при создании :

JDialog dialog = new JDialog(owner, Dialog.ModalityType.DOCUMENT_MODAL);

или позже :

dialog.setModalityType(type)

* Существует еще один уровень: Модальность системного уровня , но это невозможно только с Java.

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