如何在关闭JFrame时在后台运行应用程序?

时间:2013-03-15 20:21:20

标签: java swing jframe system-tray

我在java应用程序中使用了系统托盘。我想消失GUI 并在后台中运行应用程序,但是当用户点击JFrame的关闭按钮时,系统托盘必须保持可用。< / p>

3 个答案:

答案 0 :(得分:4)

  

我想要消除GUI并在后台运行应用程序,但是   当用户点击关闭按钮时,系统托盘必须保持可用   的JFrame。

设置当用户在此帧上启动“关闭”时默认发生的操作。您必须指定以下选项之一:

  

DO_NOTHING_ON_CLOSE(在WindowConstants中定义):不要做任何事情;要求程序处理中的操作   注册WindowListener对象的windowClosing方法。

     

HIDE_ON_CLOSE(在WindowConstants中定义):在调用任何已注册的WindowListener对象后自动隐藏框架。

     

DISPOSE_ON_CLOSE(在WindowConstants中定义):在调用任何已注册的WindowListener后自动隐藏和处理框架   对象。

     

EXIT_ON_CLOSE(在JFrame中定义):使用System exit方法退出应用程序。仅在应用程序中使用它。

     

默认情况下,该值设置为HIDE_ON_CLOSE。改变了价值   此属性导致触发属性更改事件   属性名称“defaultCloseOperation”。

答案 1 :(得分:1)

将此作为回答发布

就像MadProgrammer说:

  

框架关闭时,不要将框架设置为EXIT_ON_CLOSE或调用System.exit。事件调度线程将继续运行,直到JVM终止

答案 2 :(得分:0)

您可以在单独的线程中使用系统托盘。