PROGRAMING2 report2


課題 講義資料のJavaアプレットを参考に、簡単なディスプレイ出力Javaアプレットを作成せよ。


#1 Star.java

import java.applet.Applet; import java.awt.Graphics; public class Star extends Applet { public void paint(Graphics g) { g.drawLine(10,75,180,75); /*左上→右上*/ g.drawLine(10,75,160,190); /*左上→右下*/ g.drawLine(180,75,40,190); /*右上→左下*/ g.drawLine(160,190,100,10); /*右下→上*/ g.drawLine(40,190,100,10); /*左下→上*/ } }

実行結果↓


○考察
  • 教科書P388のアプレットを参考に、星型の図形を作った。

  • 最初の2行のinportステートメントで、パッケージに含まれるクラスを参照している。ここではGraphicsクラスを参照している。

  • 座標の位置など頭の中でイメージしてやったのだがやはり最初は微妙で、微調整して形を整えた。その際、右にコメントを書くとやりやすくなった。

  • drawLineメソッドを使った。その他の主なメソッドの機能をに簡略にして示す。

  •   メソッド説明   drawArc 弧を描画する。 drawImage イメージimgを描画する。 drawOval 円を描画する。 drawPolygon 多角形を描画する。 drawPlyline 多角線を描画する。 drawRect 四角形を描画する。 fillArc 弧を塗りつぶして描画する。 fillOval 円を塗りつぶして描画する。 fillPolygon 多角形を塗りつぶして描画する。 fillRect 四角形を塗りつぶして描画する。  

    star.javaが案外地味だったので、少し改良してみた。
    fillPlygonと、講義で少し触れた乱数をつかってみる。

    #2 Star2.java

    import java.applet.Applet; 
    import java.util.Random;    
    import java.awt.Color;
    import java.awt.Graphics;
    
    public class Star2 extends Applet {
      public void paint(Graphics g) {  
    Random a = new Random();                           //乱数aを用意する。
    g.setColor(new Color(a.nextInt()));                //乱数で色を決める。
        int x[]={100,80,10,70,40,100,160,130,190,120}; //頂点のx座標を指定する。
        int y[]={10,75,75,113,190,140,190,113,75,75};  //上と同様に、y座標を指定する。
    g.fillPolygon(x,y,10);
      }
    }
    

    実行結果 →  Star2.java


    ○考察
  • 1つのメソッドで線を1本描画したdrawLineメソッドと比べ、配列を用いて1つのメ\ソッドで図形を描画するfillPolygonメソッドでは、数値を考えるのは面倒だがソースがすっきりした感じになった。

  • Star.javaのように同じページに表示したかったのだが、画面をスクロールさせるたびに星の色が変わった。このソースコードではスクロールのたびにアプレットが実行されてしまうのだろうか。目に優しくない感じがしたので、リンクをはった。

  • ○感想

     今回初めて自分のホームページにのせてみたので、見やすさ、内容ともに雑なレポートになってしまった。しかしアプレットは、なにか絵を書くようで楽しかった。もう少し勉強して、動きのあるアプレットも作れるようになりたい。
     参考にするためにいろいろなホームページを回ったが、javaアプレットをつかうサイトを批判する意見もあるようで(強制的にプログラムを実行させることなど)将来的にどうなのかな〜とも思った。