ここで同様のスレッドをいくつか読みましたが、役に立ちませんでした。装飾されておらず、最初はフォーカスできない JDialog があります。
super(connectionsTree.getMainFrame(), "", false);
super.setUndecorated(true);
super.setFocusableWindowState(false);
super.setFocusable(false);
super.getContentPane().add(scrollPane);
super.pack();
このダイアログが表示され、ユーザーが [スペース] ボタンを押すたびに、JDialog をフォーカスして、キー イベントを受信できるようにする必要があります。私はそうします:
if (keyCode == 32) {
tooltip().setFocusable(true);
tooltip().setFocusableWindowState(true);
tooltip().requestFocusInWindow();
}
このコードは私の JDialog をフォーカス可能にしますが、JDialog はフォーカスされておらず、主要なイベントはそれによって把握されていません。
tooltip()
メソッドは、私の JDialog のインスタンスのみを返します。
JDialog をプログラムでフォーカスを受け取るにはどうすればよいですか?
ありがとうございました!