除了 MS Office 等其他软件外,我们的客户还使用我们的软件(Java Swing 应用程序开始使用 Webstart)来完成他的工作。有时,他必须毫不拖延地在我们的软件中处理重要事件。客户希望有一个突出的通知。现在他可能正在使用 Excel,所以弹出一个消息框是不够的(尽管任务栏中的条目会闪烁)。
我们需要一些类似于 Outlook 通知程序的机制,即始终可见但不会窃取焦点的弹出窗口。通知程序应一直显示,直到消息的原因消失(用户已解决问题)或用户已关闭消息(如在 Outlook 中)。此外,我们希望显示一个托盘图标并可能播放声音。
我已经尝试过 Java6 java.awt.SystemTray 以及 JDIC(版本 0.9,因为我们已经在该项目的类路径中拥有该库)等价物,但我没有找到设置 TrayIcon.displayMessage 超时的方法方法,并且消息似乎并不总是最重要的。
除了 JNI 之外,还有其他选择来实现所请求的行为吗?
如果 JNI 是唯一的选择,并且由于 Windows 是我们客户的唯一平台,那么 Outlook 通知程序是 Outlook 唯一的功能,还是可以通过 Windows API 自由使用?
或者还有哪些其他选项可以通知用户要在一个软件中执行的重要任务,而不会妨碍他在另一个软件中完成当前任务。因此,系统模式对话框是没有选择的!