如何通知用户桌面应用程序的重要事件?

2024-02-07

除了 MS Office 等其他软件之外,我们的客户还使用我们的软件(使用 Webstart 启动的 Java Swing 应用程序)来完成他的工作。有时他必须在我们的软件中立即处理一些重要事件。客户希望得到一个显着的通知。现在他可能正在使用 Excel,因此弹出消息框还不够(尽管任务栏中的条目会闪烁)。

我们需要一些像 Outlook 通知程序这样的机制,即始终可见但不会抢走焦点的弹出窗口。通知程序应始终显示,直到消息的原因消失(用户已解决问题)或用户关闭消息(例如在 Outlook 中)。此外,我们希望显示一个托盘图标,并且可能播放声音。

我已经尝试过 Java6 java.awt.SystemTray 以及 JDIC(版本 0.9,因为我们已经在该项目的类路径中拥有该库)等效项,但我没有找到设置 TrayIcon.displayMessage 超时的方法方法,并且消息似乎并不总是在最上面。

除了 JNI 之外还有其他选项可以实现请求的行为吗?

如果 JNI 是唯一的选择,并且 Windows 是我们客户的唯一平台,那么 Outlook 通知程序是 Outlook 独有的功能,还是可以通过 Windows API 免费使用?

或者还有哪些其他选项可以通知用户要在一个软件中执行的重要任务,而不妨碍他在另一软件中完成当前任务。因此,系统模式对话框是不可行的!


尝试使用设置AlwaysOnTop http://java.sun.com/javase/6/docs/api/java/awt/Window.html#setAlwaysOnTop(boolean)在你的 JFrame/JWindow 上。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何通知用户桌面应用程序的重要事件? 的相关文章

随机推荐