对话框关闭时的 Java 侦听器

2022-09-02 00:20:26

我有一个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

如果 是 对话框 或 JDialog窗口,则可以使用 Window.addWindowListener(...)。也就是说,在你的主类中,你做了AddNewView

addNewDialog.addWindowListener(someWindowListener);

其中有一些 WindowListener(例如 WindowAdapter),它覆盖/实现 windowClosedsomeWindowListener

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

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

相关链接:


答案 2

你必须添加窗口管理器并覆盖窗口关闭事件,如果事件发生,那么只需返回一些标志,这里的例子


推荐