Я вижу следующий код в проекте GUI Java / Swing:
MyDialog dlg = new MyDialog(parent, isFizz);
MyDialogResults results = dlg.getResults();
eventBus.fireEvent(new MyDialogEvent(results));
В приведенном выше коде MyDialog extends JDialog
. Итак, очевидно, что создается дочерний диалог (и каким-то образом отображается конечному пользователю), а затем, когда пользователь выходит из диалогового окна (нажав OK или какую-либо другую кнопку), bean-компонент results
используется для запуска нового события в событии. автобус.
Но я борюсь с двумя вещами:
- Как / где Java говорят на самом деле рисовать / показывать диалог пользователю ?; а также
- Как / где Java говорят зависнуть / ждать, пока пользователь выйдет из диалогового окна, прежде чем запускать событие на шину?
Может быть, дочерний элемент JDialog
всегда будет отображать диалог при создании JDialog
и не будет возвращаться из конструктора до тех пор, пока диалог не будет завершен? Вот синопсис конструктора hte MyDialog
сверху:
public class MyDialog extends JDialog {
private boolean isFizz;
private MyDialogResults results;
// Getters and setters for all properties...
public MyDialog(Frame parent, boolean isFizz) {
super(parent, "My Dialog", true);
setIsFizz(isFizz);
setVisible(true);
dispose();
}
}
Заранее благодарим за любую помощь / понимание того, как открывается диалоговое окно, «зависает» (хотя я знаю, что он на самом деле не зависает / не зависает), закрывается, а затем запускает событие.