Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: GUI и Java FX приложения > Последовательность выполнения.


Автор: bio_hazard 5.9.2007, 11:57
Здравтсвуйте, помогите победить такую штуку.
Код

...
код1
.....
JDialog dialog = new JDialog();
dialog.setVisible(true);
код2
....
....



Скажите пожалуста как сделать так чтобы код2 выполнялся только после того как закроется dialog. Сейчас у меня появляется окно dialog, и сразу же выполняется код2.

Автор: batigoal 5.9.2007, 12:13
Нужно почитать про интерфейс WindowListener и реализовать его, добавив свой код в метод windowClosed().

Автор: bio_hazard 5.9.2007, 14:08
Я представляю как работает windolistener, но как мне кажется в данной ситуации он не поможет мне. код2 будет выполнятся, когда dialog будет выполнять свои функции

Автор: bio_hazard 5.9.2007, 15:08
А если попробовать в цикле перед код2 проверять существование объекта dialog? И когда dialog вызовет метод dispose() управление после цикла перейдет на код2?

Автор: COVD 5.9.2007, 15:35
Цитата

А если попробовать в цикле перед код2 проверять существование объекта dialog? И когда dialog вызовет метод dispose() управление после цикла перейдет на код2? 


правильнее перед код2 поставить wait(). Он для этого и придуман. А в windowClosed() сделать notify(). 

Автор: bio_hazard 5.9.2007, 17:20
Спасибо!!! про wait() не знал!!

Автор: AntonSaburov 5.9.2007, 17:37
Так сначала надо вызвать setModal(true) - а потом показывать. И будет оно модальным.

Автор: bio_hazard 6.9.2007, 08:33
AntonSaburov
Большое Вам спасибо! теперь все заработало

Автор: COVD 6.9.2007, 16:17
в javax.swing.JOptionPane есть много готовых диалогов на все случаи жизни, открывающихся через вызовы статических методов showConfirmDialog, showInputDialog, и т.д.

Автор: bio_hazard 7.9.2007, 07:39
Да там есть диалоги но у меня более расширенный (с выбором даты из календаря и выбором времени)

Автор: dorogoyIV 7.9.2007, 13:31
Цитата(bio_hazard @  7.9.2007,  07:39 Найти цитируемый пост)
Да там есть диалоги но у меня более расширенный (с выбором даты из календаря и выбором времени)


ну наверное можно и JOptionPane расширить.

Автор: RebornCrusader 12.9.2007, 05:20
Цитата(dorogoyIV @  7.9.2007,  21:31 Найти цитируемый пост)
ну наверное можно и JOptionPane расширить.

Конечно можно. В стандартном примере SwingSet2 весьма доходчиво объясняется. Не зря там параметр message имеет тип Object, не зря.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)