そのため、ユーザーが Swing アプリの任意の場所でスペースバーを押すたびに、イベント (メディアの一時停止/一時停止解除) をトリガーしたいと考えています。
フォーカスできるコントロールとパネルが非常に多いため、それらすべてにキーイベントを追加することは実際には不可能です (グロスは言うまでもありません)。
だから私は見つけた
KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher()
これは素晴らしいことです。グローバルなキープレス プリハンドラーを登録できます。ただし、大きな問題があります。入力フィールドや表のセルなどにスペースが常に入力されるため、一時停止イベントをトリガーしたくないのは明らかです。
アイデアはありますか?おそらく、すべての編集可能なコントロールのリストをチェックすることなく、カーソルがテキスト入力を許可するものにフォーカスされているかどうかをグローバルに検出する方法があります(嘔吐!)?