• ベストアンサー

メソッドの引数の意味について

 こんにちは。  JAVAの初心者です、宜しくお願いします。    drawImage(img,x,y,imageobserverオブジェクト)の引数で最後の「imageobserverオブジェクト」とはどのような意味でしょう。  普通はthisを入れる、と本には書かれていますが、this以外が入る場合とはどのような場合でしょう。    また、addMousemotionListener(this)のthisの引数の意味はどのような意味でしょう??  「このオブジェクト」に来たイベントをListenerとしてとるという意味でしょうか。  以上宜しくお願いします。

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

  • ベストアンサー
  • x_jouet_x
  • ベストアンサー率68% (162/236)
回答No.1

> 「imageobserverオブジェクト」とはどのような意味でしょう。 ImageObserverインタフェースを実装したクラスのオブジェクトです。 APIリファレンス http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/awt/image/ImageObserver.html を参照して頂くと分かると思いますが、AWTやSwingのクラスはImageObserverインタフェースを実装したクラスになっています。 つまり、たとえば下記のようなSwingのクラスを継承したクラスMyButton ---------- public class MyButton extends JButton { ... } ---------- の中でdrawImage()メソッドを使用する場合、このMyButtonクラスもImageObserverインタフェースを実装していることになるので、drawImage(img,x,y,this)のように書くことができます。 ※) ImageObserverインタフェースを別のクラスで実装していれば最後の引数にthis以外が入ることもありますが、この方法はほとんど見かけません。 > addMousemotionListener(this)のthisの引数の意味はどのような意味でしょう?? addMouseMotionListener()メソッドの引数には、MouseMotionListenerインタフェース http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/awt/event/MouseMotionListener.html を実装したクラスのオブジェクトが入ります。 addMouseMotionListener()メソッドを記述しているご自分のソースコードをご覧下さい。 ---------- public class ..... implements MouseMotionListener { ..... } ---------- または、 ---------- public class ..... extends MouseMotionAdapter { ..... } ---------- になっていませんか? これでこのクラス自体がMouseMotionListenerインタフェースを実装したクラスになるので、addMouseMotionListener(this)のように自分自身のオブジェクトを渡すように記述できます。 ちなみに、上記のようなクラスはMouseMotionListenerインタフェースを実装するために、 ---------- public void mouseDragged(MouseEvent e) { ..... } public void mouseMoved(MouseEvent e) { ..... } ---------- の2つのメソッドが実装されていると思います。

関連するQ&A