上の絵と似ていない月と雪ダルマが描かれた絵を描くプログラム Yukidaruma.javaを作りなさい.
// 名前:
// 学生証番号:
// 説明
// AWTを使うので java.awt.*を import する
import java.awt.*;
// イベント駆動関係のクラスを用いるため
import java.awt.event.*;
// 独立したウィンドウを開くので,Frameクラスのサブクラスにする
class Yukidaruma extends Frame implements KeyListener,MouseListener{
// 表示する際に必要なインスタンス変数を宣言しておく
int mx=100,my=100;
public Yukidaruma(String title){
super(title);
// GUI部品と,Event Listenerを関連づける
addKeyListener(this);
addMouseListener(this);
}
// KeyListenerを実装するためのメソッド
public void keyPressed(KeyEvent e){
int key=e.getKeyChar();
System.out.println("keyPressed("+e+","+key+")");
if(key=='q') System.exit(0);
}
// 要らないイベントに対応するメソッドも中身は空で書いておく必要がある.
public void keyReleased(KeyEvent e){}
public void keyTyped(KeyEvent e){}
// MouseListenerを実装するためのメソッド
public void mousePressed(MouseEvent e){
// 押された時のマウスカーソルの位置を得る
mx=e.getX();
my=e.getY();
// 再表示をおこなう
repaint();
}
// 要らないイベントに対応するメソッドも中身は空で書いておく必要がある.
public void mouseReleased(MouseEvent e){}
public void mouseExited(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mouseClicked(MouseEvent e){}
public static void main(String[] args){
Yukidaruma frame=new Yukidaruma("Yukidaruma");
frame.setSize(400,400);
frame.setVisible(true);
}
public void paint(Graphics g){
// インスタンス変数にしたがって描画するコードを書く
g.setColor(Color.white);
g.fillRect(0,0,400,400);
g.setColor(Color.gray);
g.fillOval(mx,my,100,100);
}
}