I have a Java app that displays a list from a database. Inside the class is the following code to open a new dialog for data entry:
@Action public void addNewEntry() { JFrame mainFrame = ADLog2App.getApplication().getMainFrame(); addNewDialog = new AddNewView(mainFrame, true); addNewDialog.setLocationRelativeTo(mainFrame); addNewDialog.addContainerListener(null); ADLog2App.getApplication().show(addNewDialog); }
How do you add a listener to the main class to detect when the addNewDialog window is closed, so that I can call a refresh method and refresh the list from the database.
Instead of subclassing the AWT dialog window, the EscapeDialog could subclass the JFC/Swing JDialog window. For all practical purposes, recursively adding key listeners would work, causing the Escape key to close the JFC/Swing dialog window.
JDialog is a part Java swing package. The main purpose of the dialog is to add components to it. JDialog can be customized according to user need . Constructor of the class are: JDialog() : creates an empty dialog without any title or any specified owner.
If AddNewView
is a Window
such as a Dialog
or JDialog
, you could use the Window.addWindowListener(...). That is, in your main class, you do
addNewDialog.addWindowListener(someWindowListener);
where someWindowListener
is some WindowListener
(for instance a WindowAdapter
) which overrides / implemetnns windowClosed
.
A more complete example, using an anonymous class, could look like
addNewDialog.addWindowListener(new WindowAdapter() { @Override public void windowClosed(WindowEvent e) { refreshMainView(); } });
Relevant links:
you have to add WindowListener and override windowClosing Event, if event occured then just returs some flag, example here
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With