问题
I have an object which is invoked from the main GUI thread and shows a separate JFrame for a number of seconds and then disappear (with the use of a timer). Now I want to make the main GUI thread to wait until the pop-up JFrame window disappears. For example, on the main GUI code:
// initiate the object and show the pop-up JFrame
DisappearingJFrame djf = new DisappearingJFrame ();
djf.show ();
// now the main GUI thread should wait
// and after the pop-up JFrame disappears, the rest of the code is then executed
...
...
Any suggestion would be welcome. Thanks.
回答1:
Don't use a separate JFrame for this is what modal dialogs were built for. Use either a JOptionPane or a modal JDialog.
回答2:
I have an object which is invoked from the main GUI thread and shows a separate JFrame
If you want to show more than one TopLayoutContainer(s) maybe it is better to look for JDialog because with that you can play with ModalityType & toFront().
Isn't method show()
deprecated and replaced with method JDialog.setVisible(boolean)?
来源:https://stackoverflow.com/questions/6077889/how-to-make-the-main-gui-thread-wait-until-a-separate-pop-up-window-is-disappe