开发者

How to trigger an event when another window is closed?

开发者 https://www.devze.com 2023-04-05 17:49 出处:网络
I have a button that open a new window to the user do some configur开发者_StackOverflowations. After the configuration window is closed, I want to reload the configurations in the window that called t

I have a button that open a new window to the user do some configur开发者_StackOverflowations. After the configuration window is closed, I want to reload the configurations in the window that called the configuration window.

How I do this?


Use a modal dialog for your configuration window. Then when the dialog is closed execution of the code will continue after your statement that displayed the configuration window so you can reload the properties.


As long as the form isn't freed on close you can still access the variable representing the form and get its properties and control values.

EDIT: Ok, I'm a little confused, but let's try this again. There are MANY ways in which you can solve this problem.

The easiest way is to simply call the configuration form with ShowModal and then process the configuration information within the button's click event once the form is closed.

Another way is to have the configuration form store its values in an allocated object (a TStringList, for instance) and then send the reference to that object via a message to the main form in the OnClose of the configuration form. Your main form would then use the TStringList to get all the configuration information and then free it. Again, this is only one way of many this can be done.

So much depends on how you want this all to work.


You need to implement a WindowListener. See 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);
0

精彩评论

暂无评论...
验证码 换一张
取 消