私たちの顧客は、MS Office などの他のソフトウェアに加えて、私たちのソフトウェア (Webstart を使用して開始された Java Swing アプリケーション) を使用して仕事をしています。ときどき、彼が私たちのソフトウェアで遅滞なく処理しなければならない重要なイベントがあります。その場合、顧客は目立つ通知を望んでいます。現在、彼は Excel を使用している可能性があるため、メッセージ ボックスをポップアップ表示するだけでは十分ではありません (ただし、タスク バーのエントリは点滅します)。
Outlook 通知機能のようなメカニズム、つまり常に表示されているがフォーカスを奪わないポップアップが必要です。通知機能は、メッセージの理由がなくなる (ユーザーが問題を解決する) か、ユーザーがメッセージを閉じる (Outlook など) まで、常に表示される必要があります。さらに、トレイ アイコンを表示し、場合によってはサウンドを再生します。
Java6 java.awt.SystemTray と JDIC (そのプロジェクトのクラスパスにすでにそのライブラリがあるため、バージョン 0.9) に相当するものを試しましたが、TrayIcon.displayMessage のタイムアウトを設定する方法が見つかりませんでした。メソッド、およびメッセージが常に一番上にあるとは限らないようです。
要求された動作を実現するための JNI 以外のオプションはありますか?
JNI が唯一の選択肢であり、Windows がお客様の唯一のプラットフォームである場合、Outlook 通知機能は Outlook のみの機能ですか、それとも Windows API を介して自由に使用できますか?
または、ユーザーが別のソフトウェアで現在のタスクを完了するのを妨げることなく、あるソフトウェアで実行する重要なタスクについてユーザーに通知するために、他にどのようなオプションがありますか? したがって、システム モーダル ダイアログはオプションではありません。