-PR-
解決
済み

EventListenerの実装について

  • 困ってます
  • 質問No.40254
  • 閲覧数126
  • ありがとう数5
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 57% (4/7)

次の様なプログラムを書きました。

class listener implements KeyListener{
String TypedKeyName;
....
}

勿論必要なmethodは全て記述しました。TypedKeyNameには入力された
キーの名前を保存します。
次に、Appletクラスを拡張し、Runnableをimplementsしたクラスを
作成して、その中でlistenerのインスタンスlis_insを作り、

addKeyListener(lis_ins);

としました。run()の中で永久ループにしてTypedKeyNameの値をpaint()にて
表示させようと思ったのですが、上手くいきません(全く更新されません)。
参考書には

addEventListener(this);

とばかり載っているのですが、ひょっとして、Componentクラスを
継承していないとリスナーには指定出来ないのでしょうか?
分かり難い質問で申し訳ありません。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.2
レベル6

ベストアンサー率 66% (4/6)

paintの方には問題がない(本当にKeyEventが発生していない)と仮定して書いてみます。

Appletにフォーカスは当たっているでしょうか?
すべてのバージョンでそうなのか分かりませんが、うちのappletviewerで動かした場合、AppletがrequestFocusしてやらないとフォーカスが来ないようです。
IE5上で実行すると、最初からフォーカスが当たっているみたいですが。

Componentクラスを継承していないとリスナーには指定出来ない、ってことはありません。
お礼コメント
naoto_goo

お礼率 57% (4/7)

回答有難うございます。無事動かす事が出来ました。

原因は二つありました。一つはご指摘の通りFocusが当たっていなかった事。
それからもう一つの原因なんですが・・御免なさい!
実はinit()内でスレッドのインスタンスを作り、start()させるのを
忘れていました。いくらrun()を記述しようと、スレッドが動いていなければ
repaint()が呼び出されるわけがありませんでした。

こんな初歩のミスで、しかもそれに気づく事なく安易に質問してしまい、
申し訳ありませんでした。
そして改めて、親切に教えて頂いて有難うございました。
投稿日時 - 2001-02-16 00:31:03
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1

失礼ですが、ちょっと状態がよくわからないので質問させてください。 paint()はうまくうごいているのですか? keyEvent以外の方法でキックしてみたら期待通りに動くのでしょうか。 イベント受け取ったさきで実行するメソッドに System.out.println("xxx"); いれてコンソール表示みてみて、 コンソールにxxxが表示されていないようなら ...続きを読む
失礼ですが、ちょっと状態がよくわからないので質問させてください。

paint()はうまくうごいているのですか?

keyEvent以外の方法でキックしてみたら期待通りに動くのでしょうか。

イベント受け取ったさきで実行するメソッドに
System.out.println("xxx");
いれてコンソール表示みてみて、
コンソールにxxxが表示されていないようなら
「キーイベントが正しくわたっていない」
xxxは表示されているならイベントの問題ではない、
ということになるとおもうのですが…
お礼コメント
naoto_goo

お礼率 57% (4/7)

回答有難うございます。動かない理由は自分のつまらないミスでした。
スレッドを動かすのを忘れていたのです。全く見当違いな所に疑いを持って
いました。

System.out.println("xxx");
成る程、appletviewerを使っている場合、そうすればデバッグに
活用する事が出来ますね。目から鱗が落ちました。
改めて、有難うございました。
投稿日時 - 2001-02-16 00:39:06


このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ