java swing
ほとんどの場合、システム トレイで実行されるアプリケーションがあります。ユーザーは を使用しTray Menu
て、いくつかのアクションを実行できます。それらのアクションの 1 つは、アプリ ウィンドウを表示することです。私が抱えている問題は、OS X での使いやすさです。
Windowsでは、ユーザーがアプリ ウィンドウを表示し、後で別のアプリに切り替えると、タスクバーを使用してアプリケーションに戻ることができます。ただし、OS X では、アプリにメニューがなく、リストにも表示されないモードでアプリが実行されますCommand + Tab
。
__LSUIElement
でtrueに設定されていますinfo.plist file
したがって、私の問題は、ユーザーがアプリ ウィンドウを開いて後で別のアプリに切り替えた場合、ウィンドウ自体 (他の多くのウィンドウの背後にある可能性がある) をクリックしない限り、元に戻すことができないことです。最も簡単な方法は、ユーザーがトレイ アイコンを使用してウィンドウを再度開くことですが、ウィンドウが既に開いているため、前面に表示できません。
では、他のアプリケーションからフォーカスを外してウィンドウを前面に移動するにはどうすればよいですか?
編集:
私の問題は、「エージェントとして実行されているアプリケーション」を取得することではありません。私はすでにそれを機能させています。私が抱えている問題は、作成時にプログラムウィンドウを一番上に表示することです。私はJavaでこれを行うことができません。