• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:paintメソッドでエラー)

paintメソッドでエラー

このQ&Aのポイント
  • 以下はSwingのフレーム上に画像を表示させようとして書いたものの全文です。
  • 実行するとSyntax errorがでますが、これはどうしてでしょうか。
  • なおべつのプログラムでmainメソッドとpaintメソッドを同じクラスに書いたらうまく表示できました。アドバイスお願いします。

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

>public MyFrame7(){ は、いらない(あとコレに対応する}もいらない)のでは?

cieloazul
質問者

お礼

大変ありがとうございます。うまくできました。 paintメソッドはMyFrame7クラスの中に書かれているので、MyFrame7クラスのインスタンスであるframe1を生成したときに「無条件に自動で実行される」、という解釈であってますでしょうか。 あと、この場合のpaintメソッドはどのクラスのメソッドなんでしょうか。 API仕様で検索したところ、複数のクラスが同じ名前と引数のメソッドをもっているようでした。 質問ばかりですがおねがいします。

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

>paintメソッド コンポーネントとかが作成されたとき、再描画が必要なときに自動的に実行されます。 >この場合のpaintメソッドはどのクラス MyFrame7クラスのメソッドで、 親クラスのpaintメソッドをオーバーライドしていることになります。 >複数のクラスが同じ名前と引数のメソッドをもっている 同じインターフェースにすることで、同じような機能を持っているということがわかるようにしているのです。 同じ系列のクラスの場合、クラスによって実際に呼び出されるメソッドは異なりますが、同じメソッドを使うことで適切なクラスのメソッドが呼び出されます。

参考URL:
http://java.sun.com/products/jfc/tsc/articles/painting/index.html
cieloazul
質問者

お礼

>>MyFrame7クラスのメソッドで、親クラスのpaintメソッドをオーバーライドしていることになります。 なるほど大変わかりやすいを回答ありがとうございました!

関連するQ&A