关闭窗口 - 但不要停止程序 - JAVA



在我的程序中,如果发生操作,它会打开一个窗口。当我在这个窗口中填写了信息,并输入一个按钮后,窗口dispose()。

该窗口是在主程序之外的程序中拾取的,但是当我关闭该窗口时,主程序停止。我怎样才能避免这种情况的发生?

谢谢你的帮助!

  1. 可以设置第二帧的defalaultCloseOperation属性为DO_NOTHING_ON_CLOSEDISPOSE_ON_CLOSE

  2. 甚至不要使用两帧。使用模态JDialog代替次要帧。更多信息请参见如何使用对话框。阅读更多关于情态。要阅读更多内容,请参见使用多个jframe,好/坏实践?

  3. 忘掉第一条吧。

如果使用JFrame或扩展它,可以使用setDefaultCloseOperation()方法,如:

frame.setDefaultCloseOperation(HIDE_ON_CLOSE);
// or
frame.setDefaultCloseOperation(DISPOSE_ON_CLOSE);

dispose命令来自AWT Bundle,当您试图用AWT命令"关闭"一个swing窗口时,这可能会导致问题。

你可以用下面的命令关闭窗口:

windowName.setVisable(false);

windowName是表示窗口的对象的名称。如果您正在扩展一个类,并且没有对象,则可以使用this

有关处置方法的更多信息:一般来说,java.awt. windows .dispose()用于GUI组件一个窗口的子类,以便于特定的GUI窗口对象(和它的子节点)来正确地释放和销毁本地UI资源(例如如屏幕)。垃圾收集(以及最终退出整个VM)可能会作为dispose()的结果发生,但不是直接发生与dispose()调用本身相连。"从:https://www.java.net/node/684412

windowName.setVisable(false);

似乎不是一个好的选择。如果用户想退出程序怎么办?

查看这个问题-如何在任务栏的系统托盘中隐藏JFrame

相关内容

  • 没有找到相关文章

最新更新