2012-03-09 6 views
5

Я пытаюсь отключить «главное» JFrame при появлении нового фрейма. Я хочу, чтобы вы не могли нажимать или перетаскивать что-либо на этом фрейме. Я попытался сделать новый кадр JDialog, но это не отключило другой кадр. Я также посмотрел на другой пост об этом, который предложил сделать его JDialog, но он все еще не работает. Мне действительно нужна помощь в этом. Благодарю. Это код, который я использую для создания JDialog, есть ли у вас какие-либо проблемы с ним?Отключить JFrame при открытии нового JFrame

editDialog=new JDialog(IntroScreen.frame); 

IntroScreen.frame представляет собой «главную» рамку.

+1

Гоша, это никогда не было предложено до ... –

+0

это сарказм или нет ..? не могу сказать –

ответ

11

Вы установили для JDialog#setModal или JDialog#ModalityTypes, может быть, с Dialog.ModalityType APPLICATION_MODAL

+0

Да, правильный ответ - зависимое окно должно быть JDialog, а не JFrame. Либо это, либо своп взглядов через CardLayout. –

+0

Я буду исследовать это и попытаюсь реализовать в своем проекте :) –

+0

@ CaptainGh0st: вы приняли неправильный ответ. Этот правильный. –

4

Если вы хотите использовать несколько JFrame s, вы можете использовать метод setEnabled() при открытии другого JFrame.

frame.setEnabled(false); 

В противном случае вы должны пойти с JDialog и его метод setModal().

+0

Спасибо, сэр, я понятия не имею, как я не нашел этот метод, когда проходил методы. -__- БЛАГОДАРЯ. –

+2

Вы выбрали правильный ответ на неправильный вопрос. (Простой) путь вперед обозначается HFOE & mKorbel. Множество кадров вызовет у вас больше стресса. –

+0

Спасибо, что указали это. Я отредактирую свой ответ. – alexvetter

Смежные вопросы