• ベストアンサー

イベントの宣言について

public class J_applet extends Applet implements ActionListener ,ItemListener { と宣言したところ、 J_applet は abstract でなく、java.awt.event.ActionListener 内の abstract メソッド actionPerformed(java.awt.event.ActionEvent) をオーバーライ ドしません。 とエラーがでました。 インポート宣言はきちんとしました。 上記のような書き方はもしかして出来ないんでしょうか?

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

  • ベストアンサー
  • ratsbane
  • ベストアンサー率40% (4/10)
回答No.1

ActionListener をimplementsした場合、そのクラスに public void actionPerformed(ActionEvent ae){} というメソッドを書かなくてはいけません。 ItemListener をimplementsした場合は、 public void ItemStateChanged(ItemEvent ie){} というメソッドを書かなくてはいけません。 ActionListener、ItemListener はinterfaceなので、これらをimplementsした場合、そのinterface内のメソッドをオーバーライド(名前と引数と戻り値が同じ)しないといけません。 オーバーライドしない場合はクラスをabstractとしなければなりません。 内部クラスという方法もありますが、それはどこかのHPで見てください。 おそらく、ボタンを押したイベントなどを作成したいのだと思うので、ボタンにaddActionListenerなどでイベントを追加した後、actionPerformed内にボタンを押されたときの処理を書くといいと思います。

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

関連するQ&A