Java-прослушиватель при закрытии диалогового окна
У меня есть приложение Java, которое отображает список из базы данных. Внутри класса приведен следующий код, чтобы открыть новый диалог ввода данных:
@Action
public void addNewEntry() {
JFrame mainFrame = ADLog2App.getApplication().getMainFrame();
addNewDialog = new AddNewView(mainFrame, true);
addNewDialog.setLocationRelativeTo(mainFrame);
addNewDialog.addContainerListener(null);
ADLog2App.getApplication().show(addNewDialog);
}
Как добавить слушателя к основному классу, чтобы обнаружить, когда окно addNewDialog закрыто, так что я могу вызвать метод обновления и обновить список из базы данных.
Ответы
Ответ 1
Если AddNewView
является Window
, например Dialog
или JDialog
, вы можете использовать Window.addWindowListener(...). То есть, в вашем основном классе, вы делаете
addNewDialog.addWindowListener(someWindowListener);
где someWindowListener
- это WindowListener
(например, WindowAdapter
), который переопределяет /implemetnns windowClosed
.
Более полный пример, используя анонимный класс, может выглядеть как
addNewDialog.addWindowListener(new WindowAdapter() {
@Override
public void windowClosed(WindowEvent e) {
refreshMainView();
}
});
Соответствующие ссылки:
Ответ 2
вам нужно добавить WindowListener и переопределить windowClosing Событие, если произошло событие, а затем просто возвращает некоторый флаг, например здесь