上の絵と似ていない月と雪ダルマが描かれた絵を描くプログラム Kadai1126.javaを「~/java」以下に作りなさい. プログラムはマウス入力と,キー入力を受け付け,キー'q' を押すと正常終了,マウスのボタンをクリックすると,表示されるものが何か 変わるようにしてください.
プログラムがちゃんと動くことを確かめたら,
/home/ktanaka/bin/report1126 1を実行して,'q'を押して正常終了すること.このプログラムは,~ /java/Kadai1126.javaの有無,コンパイル,実行できるかどうかなどをチェッ クする.なお,自分の名前,学生証番号,プログラムに関する説明を Kadai1126.java の先頭にコメントとして入れること.
なお,今回のチェックプログラムは,すでに提出した他の人のプログラムと 比較して,最も似ているプログラムとの類似度を表示するようにしている.ヒ ントを参考にした場合は,関係のないプログラムとでも高い類似度が出ること があるので,身に覚えがなければ心配することはない.
// 名前: // 学生証番号: // 説明 // AWTを使うので java.awt.*を import する import java.awt.*; // イベント駆動関係のクラスを用いるため import java.awt.event.*; // 独立したウィンドウを開くので,Frameクラスのサブクラスにする class Kadai1126 extends Frame{ // この中で, 表示する際に必要なインスタンス変数を宣言しておく // int x=100,y=100; public Kadai1126(String title){ super(title); // GUI部品と,Event Listenerを関連づける // KeyAdapterは,KeyListenerを実装して中身は何もないクラス // new クラス名(){} で,「クラス名」の名前のない子クラスを定義すると同時に // インスタンスを作る addKeyListener(new KeyAdapter(){ public void keyPressed(KeyEvent e){ int key=e.getKeyChar(); System.out.println("keyPressed("+e+","+key+")"); if(key=='q') System.exit(0); } }); // マウスが押された際に addMouseListener(new MouseAdapter(){ public void mousePressed(MouseEvent e){ int mx=e.getX(),my=e.getY(); // デバッグ用の表示 System.out.println("mousePressed("+e+","+mx+","+my+")"); // ここで表示のためのインスタンス変数を書き換えるコードを書く // x=mx; y=my; repaint(); } }); } public static void main(String[] args){ Kadai1126 frame=new Kadai1126("Kadai1126"); 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(x,y,100,100); } }