0

ここで同様のスレッドをいくつか読みましたが、役に立ちませんでした。装飾されておらず、最初はフォーカスできない 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 をプログラムでフォーカスを受け取るにはどうすればよいですか?

ありがとうございました!

4

1 に答える 1