赤い十字が押されたときにシステム トレイに縮小する Java アプリケーションがあります。
これが発生するたびに、アプリケーションがまだシステム トレイで実行中であることをユーザーに通知するメッセージを表示します。
そのためのコードは次のとおりです。
...
@Override
public void windowClosing(WindowEvent e) {
try {
tray.add(trayIcon);
trayIcon.displayMessage("", "The application has been reduced
in the system tray, to stop it, press the \"Quit\" button",
TrayIcon.MessageType.WARNING);
setVisible(false);
} catch (AWTException ex) {
System.out.println("unable to add to tray");
}
}
...
しばらくの間、ユーザーがクリックするとメッセージは消えます。
何もしなくても数秒後にメッセージがフェードアウトするようにカウンターを設定したいと思います。
誰かがそれを行うための良い方法を知っていますか?私はそのための既存の方法を見つけることができないようです.
編集
質問を修正する必要があります。実際、もう少しテストした後、たとえば 7 ~ 8 秒後に自動的にフェードアウトしますが、少し長すぎることがわかりました。また、ユーザーがアクション (マウスの移動またはキーボードでの入力) を実行している場合にのみ消えます。
したがって、新しい質問は次のようになります。Java アプリケーションを構成することでフェードアウト時間を短縮し、メッセージの動作を変更する方法はありますか、それとも Windows に固有のものですか?