Report2


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

文字出力
プログラム
import java.applet.Applet;
import java.awt.Graphics;

public class Hello2 extends Applet{
    public void paint(Graphics g){
        g.drawString("Hello.I'm Higa",30,40);
    }
}
  
結果

考察

画像描写
プログラム
import java.awt.*;
import java.util.Random;
import java.applet.Applet;

public class Circles extends Applet{
    public void paint(Graphics g){
        Random a =new Random();
        for (int i = 0; i < 1000; i++){
            g.setColor(new Color(a.nextInt()));
            int x = (int)(300*a.nextDouble());
            int y = (int)(100*a.nextDouble());
            int r = (int)(40*a.nextDouble()) + 10;
            g.fillOval(x - r, y - r, 2 * r, 2 * r);
        }
    }
}
  
結果

直線
プログラム
import java.applet.Applet;
import java.awt.Graphics;

public class Line extends Applet{
    public void paint(Graphics g){
        g.drawLine(10,10,90,90);
    }
}
結果

考察
一行目はjava.applet.Appletを呼び込んでいる。java.appletはアプレット関連 の機能を提供する
二行目はjava.awt.Graphicsを呼び込んでいる。Graphicsクラスは文字列や線を 描写することが出来る。
三行目のextends AppletはAppletクラスを継承して新しくクラスを作るという意 味。
四行目はpaint()というメソッドを定義している。引数でGraphicsクラスの機能 を使うようにしている。
五行目のg.drawLineで線を表示している。(x0,y0,x1,y1)のx0とy0は線の開始座 標、x1とy1は線の終了座標になっている。

図形
プログラム
import java.applet.Applet;
import java.awt.Graphics;

public class Oval extends Applet{
    public void paint(Graphics gr){
        gr.drawOval(25,25,30,30);
        gr.fillOval(10,10,20,20);
        gr.drawRect(10,50,30,30);
        gr.fillRect(50,10,40,40);
    }
}
結果

考察
六行目のdrawOval(x0,y0,x1,y1)は円を表示させる。
七行目のfillOval(x0,y0,x1,y1)は円を塗りつぶして表示させる。
八行目のdrawRect(x0,y0,x1,y1)は四角形を表示させる。
九行目のfillRect(x0,y0,x1,y1)は四角形を塗りつぶして表示させる。
引数x0,y0は四角形の左上隅の座標、x1,y1は横幅、高さである。


プログラム
import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Color;

public class Colors extends Applet{
    public void paint(Graphics gr){

        gr.setColor(Color.blue);
        gr.drawOval(25,25,30,30);

        Color c1 = new Color(255,0,0);
        gr.setColor(c1);
        gr.fillOval(10,10,20,20);

        gr.setColor(new Color(0,255,0));
        gr.drawRect(10,50,30,30);

        Color c2 = new Color(0.5F,0.5F,0.5F);
        gr.setColor(c2);
        gr.fillRect(50,10,40,40);
    }
結果

考察
今度は色を変えてみた。色を使うにはjava.awt.Colorをインポートしなくてはな らない
set Color()は引数に入れられた定数の色を次のメソッドに加えるらしい
定数はblueやredなど用意されているが、new Color(int red, int green, int blue)でint型のカラー値を自分で指定して使用することも出来た。

感想
今回はjavaアプレットを作れということだったが、どれくらい作ればいいのかが 分からなかった。最初は.classファイルを作り、htmlファイルに組み込んで動 作を確認していた。しかし、アプレットビューワーを使った方が効率よくアプ レットを見ることが出来るのを発見。
C言語でやらなかった図形を書くことが出来たので楽しみながらプログラ ムを組むことが出来た。

参考
独学Java第二版
ジョセフ・オニール著
浅煎り珈琲Javaアプリケーション入門
アプレットなJavaの基礎講座