如何在另一个窗口关闭时触发事件?

时间:2011-09-15 20:00:15

标签: java swing

我有一个按钮,打开一个新窗口给用户做一些配置。配置窗口关闭后,我想在调用配置窗口的窗口中重新加载配置。

我是怎么做到的?

3 个答案:

答案 0 :(得分:4)

为配置窗口使用模式对话框。然后,当对话框关闭时,代码的执行将在显示配置窗口的语句之后继续,以便您可以重新加载属性。

答案 1 :(得分:3)

只要表单未在关闭时释放,您仍然可以访问表示表单的变量并获取其属性和控制值。

编辑: 好吧,我有点困惑,但让我们再试一次。有很多方法可以解决这个问题。

最简单的方法是简单地使用ShowModal调用配置表单,然后在表单关闭后处理按钮单击事件中的配置信息。

另一种方法是让配置表单将其值存储在已分配的对象(例如TStringList)中,然后通过消息将对该对象的引用发送到配置表单的OnClose中的主窗体。然后,您的主窗体将使用TStringList获取所有配置信息,然后释放它。同样,这只是许多方法中的一种方法。

这在很大程度上取决于你希望这一切如何发挥作用。

答案 2 :(得分:1)

您需要实现一个WindowListener。请参阅how to write Window Listeners

WindowAdapter myListener = new WindowAdapter() {
    // maybe you want windowClosing
    public void windowClosed(WindowEvent e) {
        // actions to perform after window is closed
    }
}
// add to a Window (JFrame is a subclass of Window)
myWindow.addWindowListener(this);