ステージまたはスクリーンがフォーカスされたときにイベントをキャプチャする方法はありますか? focusdProperty を使用しようとしましたが、最初にステージ/画面が表示されたときにのみ使用されると思います。
WindowEvent.WINDOW_SHOWN
本質的にイベントをキャプチャする必要があるかどうかはわかりません。アプリケーションで次のコードを試しましたが、おそらく間違いがあります。
stage.addEventFilter(WindowEvent.WINDOW_SHOWN, new EventHandler<WindowEvent>()
{
@Override
public void handle(WindowEvent window)
{
System.out.println("EventFilter :: Window shown");
}
});
stage.addEventHandler(WindowEvent.WINDOW_SHOWN, new EventHandler<WindowEvent>()
{
@Override
public void handle(WindowEvent window)
{
System.out.println("EventHandler :: Window shown");
}
});
プログラムを実行しても、sysout は表示されません。
同じ問題のもう 1 つの部分は、アプリケーションを最小化して最大化した場合 (つまり、アプリケーションが再びフォーカスを取得した場合)、またはマシンをロックしてロックを解除した場合に、イベント ハンドラーがトリガーされるかどうかです。