- ベストアンサー
EventListenerの実装について
次の様なプログラムを書きました。 class listener implements KeyListener{ String TypedKeyName; .... } 勿論必要なmethodは全て記述しました。TypedKeyNameには入力された キーの名前を保存します。 次に、Appletクラスを拡張し、Runnableをimplementsしたクラスを 作成して、その中でlistenerのインスタンスlis_insを作り、 addKeyListener(lis_ins); としました。run()の中で永久ループにしてTypedKeyNameの値をpaint()にて 表示させようと思ったのですが、上手くいきません(全く更新されません)。 参考書には addEventListener(this); とばかり載っているのですが、ひょっとして、Componentクラスを 継承していないとリスナーには指定出来ないのでしょうか? 分かり難い質問で申し訳ありません。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (1)
noname#2875
回答No.1
お礼
回答有難うございます。無事動かす事が出来ました。 原因は二つありました。一つはご指摘の通りFocusが当たっていなかった事。 それからもう一つの原因なんですが・・御免なさい! 実はinit()内でスレッドのインスタンスを作り、start()させるのを 忘れていました。いくらrun()を記述しようと、スレッドが動いていなければ repaint()が呼び出されるわけがありませんでした。 こんな初歩のミスで、しかもそれに気づく事なく安易に質問してしまい、 申し訳ありませんでした。 そして改めて、親切に教えて頂いて有難うございました。