2012-02-18 1 views
2

Как можно отменить фокус с родительского фрейма? У меня есть JFrame (parentFrame), и я как открыть JDialog как:JDialog: Запретить закрытие родительского кадра

JDialog dialog = new JDialog(parentFrame); 

Теперь нужно установить диалог таким образом, что всякий раз, когда пытается кто-то щелкните родительский фрейм всегда ставить акцент на этом диалоге , даже противостоять родительскому кадру, который должен быть закрыт.

В качестве примера, когда вы добавляете переменную окружения в Windows (щелкните «Свойства системы» -> «Расширенная вкладка» - «Экологические переменные»), окно «Экологическая переменная» будет противостоять родительскому элементу.

ответ

5

Сделать диалог modal.

+0

Спасибо @ Andrew Thompson –

+0

Добро пожаловать. :) –

3

Вы можете сделать Dialog modal. Существует утилита constructor, которая делает это для вас:

JDialog(parent, title, modal); 

или вы можете вызвать setModal функцию в диалоговом окне.

+1

+1 См. Также другие конструкторы '' Dialog' '(http://docs.oracle.com/javase/7/docs/api/java/awt/Dialog.html#constructor_summary), 5 из которых принимают 'boolean', чтобы указать модальность, и 3 из которых принимают [' Dialog.ModalityType'] (http://docs.oracle.com/javase/7/docs/api/java/awt/Dialog.ModalityType.html). –

+0

Спасибо @Richie_W –