
FrameクラスのフレームにKeyListenerをaddKeyListenerで登録してキー入力を受け付けたいのですが、キーを入力してもまったく反応がありません。どうやらkeyTyped,keyPressed,keyReleasedのどのメソッドも呼び出されてないようです。クラスの概要は以下のとおりです。
class sampleFrame extends Frame implements KeyListener
{
{
addKeyListener(this);//コンストラクタ内で登録
}
で、keyPressedとうのメソッドはすべて定義しています。それから、キーを入力するとなぜか同じフレーム上のリストボックスの項目が入れ替わったりします。
どうぞよろしくお願いいたします。
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が見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) どういうプログラムで組みますか?google colabでやってるんですけど、出来る方お願いします。 1 2022/07/06 09:28
- その他(プログラミング・Web制作) どういうプログラムで組みますか?google colabでやってるんですけど、出来る方お願いします。 1 2022/07/17 18:41
- Java java 次の機能を有するメソッドを自クラスに作成し、実装したいです。 機能 名前判定機能 →名前が 3 2022/06/16 16:08
- マウス・キーボード 不良表示キー(キーボード) 3 2022/04/27 10:53
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
- その他(プログラミング・Web制作) このプログラミングをどう組みますか? Googlecolabでやってるんですが、出来る方お願いします 1 2022/07/13 10:52
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- Java javaの質問です 次の機能を有するメソッド4つを自クラスに作成し、実装したいです 【機能】 足し算 1 2022/06/15 17:49
- その他(プログラミング・Web制作) Pythonで複数のメソッドをまとめて管理する方法について 1 2023/03/30 00:01
- PHP コメント機能に返信欄を矢印で追加したい 1 2022/05/09 21:17
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
setPrefferedSizeとsetSize
-
TextAreaでの文字の色
-
Buttonを押すと画像が表示され...
-
4択クイズでのランダム出題の...
-
java junit list同士の比較方法
-
System.out.printlnの意味がよ...
-
System.err. printlnとSystem.o...
-
JavaScriptの変数の値が消える!?
-
動的配列が存在(要素が有る)か...
-
大量のデータを読み込んで表示...
-
ループ処理の際、最後だけ","を...
-
【SQLServer接続のJSPの記述を...
-
シフトJISのエンコード
-
Request.formの値の初期化
-
Visual C++ でコントロールを...
-
JSPやサーブレットでSystem.out...
-
コンボボックスを使う時の警告
-
javaでカレンダー作成
-
flush()とclose()について
-
char型での演算子
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
java junit list同士の比較方法
-
javaで文字数制限するには?
-
最後の行に移動するには?
-
setPrefferedSizeとsetSize
-
Buttonを押すと画像が表示され...
-
JPanelの切り替えと再描画
-
4択クイズでのランダム出題の...
-
【Swing】JPanel クラス外から...
-
Java-Swing TextAreaにスクロー...
-
KeyListenerの使い方について
-
ArrayListの使い方について(初...
-
連番をオブジェクト名の最後に...
-
TextAreaでの文字の色
-
JPanelの重ね方/OverlayLayout他
-
エラーで式の開始が不正ですと...
-
VB6.0でのTextboxの高さ変更
-
EXECLの行を削除
-
JDialogを閉じた時の処理
-
ラムダ式とかデリゲートっぽい...
-
ボタンクリック後パネルを再描...
おすすめ情報