レポート2

11/2(SUN)

課題
ディスプレイ出力Javaアプレット
講義資料のJavaアプレットを参考に,簡単なディスプレイ出力Javaアプレッ トを作成せよ.作成したレポートは,PikiWiki WebSiteの自分の学籍番号の ページで示せ.
実行プログラム
import java.awt.*;
import java.util.Random;
import java.applet.Applet;

public class report2 extends Applet{
    public void paint(Graphics g){
        Random a = new Random();
        int i;
        for(i=0  ; i<240; i+=30 ){
            g.setColor(new Color(a.nextInt()));
        int x [] = {100+i,115+i,150+i,185+i,200+i,185+i,150+i,115+i};
        int y [] = {150+i,115+i,100+i,115+i,150+i,185+i,200+i,185+i};
        g.fillPolygon(x,y,8);
        g.setColor(new Color(a.nextInt()));
        g.fillArc(150+i,100+i,100,100,-15,30);
        g.fillArc(135+i,65+i,100,100,30,30);
        g.fillArc(100+i,50+i,100,100,75,30);
        g.fillArc(65+i,65+i,100,100,120,30);
        g.fillArc(50+i,100+i,100,100,165,30);
        g.fillArc(65+i,135+i,100,100,210,30);
        g.fillArc(100+i,150+i,100,100,255,30);
        g.fillArc(135+i,135+i,100,100,305,30);
        }
    }
}
実行結果
出力結果
考察
始めに,import でクラスライブラリパッケージを取り込みます.ここで は,utilパッケージの中にあるRandomクラスと,appletパッケージの中にあ るAppletクラスと,awtパッケージの中にあるクラスを取り込みます.こ こで,
import java.awt.*;
としてますが,この「*」は, パッケージ内のクラス全部を取り込むという意味です,つまり,ここでは プログラムを作るために使う部品を用意します.
そして,
 public class report2 extends Applet{ 
で, report2.javaというファイルなので,report2という名前のクラスを決め ます.ここで,
extends Applet
は,Appletクラスを元部品(継 承extends)として新たにクラス(部品)を作ると言う意味です.最後の{は, これに対応する}までが一つのクラスであることをあらわします.paintメ ソッドは,アプレットがプラウザにロードされたときに起動されます.
Ramndm a = new Random()
で,引数aに乱数をいれます.これを使っ て,
set Color()
という描画を使う際に色を設定するメソッドで,
set Color(new Color(a.nextInt()))
とすると,色がランダムに設 定されて描写されます.
fillPolygon()メソッドは,塗りつぶされた多角形を描写します.最初の二つ のパラメータは,多角形の各頂点を示すxとy座標の配列です.三つめのパラメー タは,頂点の数です.ここでは,八角形を描写しました.
fillArc()メソッドは,塗りつぶされた円弧を描写します.最初の二つのパラ メータは,円を囲む仮想の短形の開始座標を示します.三つめと四つめのパラ メータは,仮想短形の幅と高さです.五つめと六つめのパラメータは,開始角 度と描画する角度です.ここでは,八角形の各頂点の座標を中心とした角度30 度の円弧を描写しました.そして,for(i=0;i<240;i+=30)より,それぞれの図 形を,x,y軸に+30ずらして表示するのを繰り返し,計八つの図形を描写するよ うにしました.
反省/感想
まわりの人達の実行結果をみたら,なんだか僕のやつは幼稚拿感じがした. もっとたくさんのJavaプログラムをみて,真似たりして調べて,今よりも1 ランクでも上をいったものを作りたいと思った.
参考文献
JAVA入門
監訳:石川和也
アプ レットなJavaの基礎講座

<トップ>