我在java应用程序中使用了系统托盘。我想消失GUI 并在后台中运行应用程序,但是当用户点击JFrame的关闭按钮时,系统托盘必须保持可用。< / p>
答案 0 :(得分:4)
我想要消除GUI并在后台运行应用程序,但是 当用户点击关闭按钮时,系统托盘必须保持可用 的JFrame。
DefaultCloseOperation
,JFrame.setDefaultCloseOperation(HIDE_ON_CLOSE)
,默认情况下在API 设置当用户在此帧上启动“关闭”时默认发生的操作。您必须指定以下选项之一:
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”。
然后从SystemTray
致电JFrame.setVisible(true)
,可以从
答案 1 :(得分:1)
将此作为回答发布
就像MadProgrammer说:
框架关闭时,不要将框架设置为EXIT_ON_CLOSE或调用System.exit。事件调度线程将继续运行,直到JVM终止
答案 2 :(得分:0)
您可以在单独的线程中使用系统托盘。