• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:KeyListenerの使い方について)

KeyListenerの使い方について

このQ&Aのポイント
  • KeyListenerを使用してキー入力を受け付ける方法についての質問です。
  • フレームにKeyListenerを登録してもキー入力が反応しない問題が発生しています。
  • キー入力によりリストボックスの項目が入れ替わる現象も発生しています。

質問者が選んだベストアンサー

  • ベストアンサー
  • koki_m
  • ベストアンサー率83% (45/54)
回答No.1

こんにちは。 おそらくフォーカスの問題だと思います。 フォーカスをフレームに設定してあげれば良いのですが、一度でも内部のコンポーネントに(クリックするなど)フォーカスを設定すると、フォーカスをフレームに再設定する仕掛けを用意しておく必要があります。 - - - import java.awt.*; import java.awt.event.*; public class Test extends KeyAdapter { Frame frame; List list; public static void main(String args[]) { new Test(); } public Test() { list = new List(); list.add("apple"); list.add("orange"); list.add("banana"); list.removeKeyListener(this); frame = new Frame("Test"); frame.add(list); frame.setSize(400, 300); frame.setLocation(100, 100); frame.addKeyListener(this); frame.show(); frame.requestFocus(); // フレームにフォーカスを設定 } public void keyPressed(KeyEvent e) { System.out.println("key pressed."); } }

すると、全ての回答が全文表示されます。

関連するQ&A