关闭对话框的Java监听器

时间:2011-10-04 19:05:33

标签: java swing jdialog windowlistener

我有一个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窗口何时关闭,以便我可以调用刷新方法并从数据库中刷新列表。

2 个答案:

答案 0 :(得分:41)

如果AddNewViewWindow,例如DialogJDialog,则可以使用Window.addWindowListener(...)。也就是说,在你的主要课程中,你做

addNewDialog.addWindowListener(someWindowListener);

其中someWindowListener是某些WindowListener(例如WindowAdapter),它会覆盖/实现windowClosed

使用匿名类的更完整示例可能看起来像

addNewDialog.addWindowListener(new WindowAdapter() {
    @Override
    public void windowClosed(WindowEvent e) {
        refreshMainView();
    }
});

相关链接:

答案 1 :(得分:7)

您必须添加WindowListener并覆盖windowClosing事件,如果发生事件,则只需重新调整一些标记,例如here