How to make the main GUI thread 'wait' until a separate pop-up window is disappeared

孤街浪徒 提交于 2019-12-20 04:24:43

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!