关闭对话框的Java监听器

Woo*_*dsy 19 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);
}
Run Code Online (Sandbox Code Playgroud)

如何向主类添加侦听器以检测addNewDialog窗口何时关闭,以便我可以调用刷新方法并从数据库中刷新列表.

aio*_*obe 42

如果AddNewViewWindow这样的Dialog或者JDialog,你可以使用Window.addWindowListener(...) .也就是说,在你的主要课程中,你做到了

addNewDialog.addWindowListener(someWindowListener);
Run Code Online (Sandbox Code Playgroud)

哪些someWindowListenerWindowListener(例如a WindowAdapter)覆盖/实现的windowClosed.

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

addNewDialog.addWindowListener(new WindowAdapter() {
    @Override
    public void windowClosed(WindowEvent e) {
        refreshMainView();
    }
});
Run Code Online (Sandbox Code Playgroud)

相关链接:

  • 只是添加注释,当使用dispose()方法时调用`windowClosed`,并且当用户按下`JDialog`右上角的'X'按钮时调用`windowClosing`. (4认同)

mKo*_*bel 7

你必须添加WindowListener并覆盖windowClosing事件,如果事件发生,那么只需返回一些标志,例如这里