public Yukidaruma(String title){ super(title); // GUI部品と,Event Listenerを関連づける addKeyListener(this); addMouseListener(this); }という部分がどういう役割を果たしているのかがよくわかりません。教えて下さい
// GUI部品と,Event Listenerを関連づける addKeyListener(this); addMouseListener(this);の部分は,わかりにくいかもしれませんね. http://lecture.ecc.u-tokyo.ac.jp/~ktanaka/programming05/primers/2-2.html のイベント駆動プログラミングの ところで説明していますが,GUI部品に対しては,そのGUI部品に対してマウスやキーボードから入力した時にそれをイ ベントとして受け取るEvent Listenerのオブジェクトを関連づけることによって,イベントを処理することができます. この関連づけをおこなうためのメソッドが,
addKeyListener - キーボードイベントの関連付け addMouseListener - マウスイベントの関連付けです.講義の例では,Event ListenerとしてGUI部品自身を設定しているので,引数として this(インスタンスメソッドから 自分自身のオブジェクトを参照するための変数)を渡しています.
GraphicsクラスのメソッドfillOvalは http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/awt/Graphics.html#fillOval(int,%20int,%20int,%20int)) にあるように,
たとえば,第1引数にmx, 第2引数にmyを渡すとマウスの押された点を左上隅とするような楕円を描くこと ができますが,雪だるまのようにfillOvalを複数回呼び出して描くような図形の場合は,mxやmyに基準点との 差分を足したり引いたりした座標を指定することになるでしょう.