0

簡単な質問です。私は3 つの JPanel持っています。1つにはキーリスナーがあり、ゲームのグラフィックを描画します。キャラクターを動かして変更することができます。2 つ目のJPanelは単なるJTextAreaで、テキストを表示するだけです。最後に、JTextAreaJButtonを持つ別のJPanelがあります。テキスト領域は入力を受け取り、Enter キーを押すかボタンをクリックして、他のテキスト ボックスに表示されるテキストを送信できます。しかし、私の質問は、各パネルでフォーカスをリクエストするにはどうすればよいですか? マウスクリックでフォーカスを移動するにはどうすればよいですか?

requestFocus(true);を常に呼び出さないとわかりません。すべてのグラフィックを表示する最初のJPanelでは、何らかの理由で機能しません。それは常に絵を描いているからだと思います。しかし、マウスのクリックなどで転送するフォーカスを取得するにはどうすればよいですか?

4

1 に答える 1

4

考えられる解決策の 1 つは、KeyListener を使用しないことです。代わりに、フォーカスに関してはるかに寛容なキーバインディングを使用してください。Google がすぐに見つけるのに役立つ Key Bindings チュートリアルをご覧ください。

より具体的なヘルプについては、sscceを作成して投稿することを検討してください。

于 2013-03-29T03:29:03.353 に答える