Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何关闭JFrame的窗口管理器紧急提示?_Java_Swing - Fatal编程技术网

Java 如何关闭JFrame的窗口管理器紧急提示?

Java 如何关闭JFrame的窗口管理器紧急提示?,java,swing,Java,Swing,我有一个JFrame,对于一个需要几个小时才能完成的数据转换程序来说,它基本上只不过是几个JProgressBars。我的问题是,每当我更新进度条时,窗口管理器的紧急提示就会被激活,这真的很烦人,整天都在我的眼角。我仍然希望任务栏中的它能够快速检查,因此将其更改为JDialog没有帮助。如何关闭紧急提示 如果有帮助的话,该程序实际上运行在Windows 7、java 1.7.0版上,尽管我在Linux机器上对模拟数据进行了大量调试,因此跨平台解决方案是首选,但并不重要。标准可能并不复杂 1) s

我有一个
JFrame
,对于一个需要几个小时才能完成的数据转换程序来说,它基本上只不过是几个
JProgressBar
s。我的问题是,每当我更新进度条时,窗口管理器的紧急提示就会被激活,这真的很烦人,整天都在我的眼角。我仍然希望任务栏中的它能够快速检查,因此将其更改为
JDialog
没有帮助。如何关闭紧急提示


如果有帮助的话,该程序实际上运行在Windows 7、java 1.7.0版上,尽管我在Linux机器上对模拟数据进行了大量调试,因此跨平台解决方案是首选,但并不重要。

标准可能并不复杂

1) setDefaultCloseOperation(JFrame.DO\u NOTHING\u ON\u CLOSE)

2) 没有理由显示JFrame,调用setVisible(true)参见第5点

(三)

4) 您必须将JPOppMenu添加到TrayIcon

5) 如果发生了某些事件

  • 在这里,您可以以“应用程序启动”、“任何应用程序事件”或其他方式通知Blabla

  • 或者使用setVisible(true)display JFrame,但最好搜索原因,只需在任务栏中闪烁


具有讽刺意味的是,在我的上一个项目中,我使用pygtk,花了一些精力试图在依赖平台的解决方案(即Windows操作系统)上实现紧急提示。这就是你所说的吗?是的@mre,除了只对一个应用程序禁用。来自其他应用程序的通知丢失比来自此应用程序的误报更糟糕。你是说将程序的图标放在系统托盘而不是任务栏中?@Karl Bielefeldt,这肯定是非常愚蠢的模式,你是否曾经干扰过一些通知,例如来自防病毒软件的更新,但在这种情况下还有另一种方法,如果您将JFrame作为JDialog、JWindow、JOptionPane的父对象传递,那么它将与TrayIcon#displayMessage(终端用户)相同,只是您必须使用工具栏的Hight(本机操作系统中的工具栏)进行计算,因为解决方法会有点困难,但并非不可能……或者