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ランキング
-
java junit list同士の比較方法
-
JPanelの切り替えと再描画
-
あるコンボボックスを選択する...
-
JPanelの重ね方/OverlayLayout他
-
整数を好きなだけ入力し、個数...
-
【Swing】JPanel クラス外から...
-
TextAreaでの文字の色
-
JavaのswingでCardLayoutの画面...
-
ダブルクォーテーションのrepla...
-
javaで質問です。 文字列2023/2...
-
VBAで配列の計算
-
[JAVA]try 内の変数を外で!?
-
JSPやサーブレットでSystem.out...
-
C言語のポインターに関する警告
-
ループ処理の際、最後だけ","を...
-
0dの意味を教えてください
-
テキストファイルにおいて任意...
-
カタカナの小文字を大文字に変...
-
論理演算子”||”またはの入力方法
-
[JAVA]エラーが解決できません。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
java junit list同士の比較方法
-
JPanelの切り替えと再描画
-
JavaでのSwingを使った簡易電卓...
-
setPrefferedSizeとsetSize
-
javaで文字数制限するには?
-
4択クイズでのランダム出題の...
-
TextAreaでの文字の色
-
最後の行に移動するには?
-
JPanelの重ね方/OverlayLayout他
-
KeyListenerの使い方について
-
【Swing】JPanel クラス外から...
-
JButton-背景の透明化
-
JDialogを閉じた時の処理
-
JTable の 列幅を個別に設定す...
-
VB6.0でのTextboxの高さ変更
-
シンボルを解決できません
-
エラーで式の開始が不正ですと...
-
ArrayListの使い方について(初...
-
’じゃんけん’をするプログラム...
-
JOptionPaneでのフォーカスのト...
おすすめ情報