report#1

課題

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

目次

[1]簡単なアプレットプログラムの例1
[2]簡単なアプレットプログラムの例2
[3]反省・感想

[1]簡単なアプレットプログラムの例1

Hello,Java worldのソース
1. import java.applet.Applet; // 短名 Applet
2. import java.awt.Graphics; // 短名 Graphics
3.
4. public class Helloa extends Applet { // サブクラス Helloa
5. public void paint(Graphics g) { // paint()メソッド
6. g.drawString("Hello, Java world!", 30, 40); // 文字列描画メソッド
7. }
8. }

実行結果


Hello,Java worldの考察
  • 1行目はアプレットを作成するためのクラス群をインポートしている。
  • 2行目はグラフィカルユーザーインターフェイスを作成するAWTのクラス群の中のGraphicsクラスをインポートしている。
  • 4行目はpublicでHelloaという名前のクラスでAppletクラスを継承している。
  • 5行目はメソッドpaint()の定義。Graphicsオブジェクトを引数gとしている。
  • 6行目はdrawStringメソッドを用いて、文字をx座標が30で、y座標が40という座標に出力している。

    [2] 簡単なアプレットプログラムの例2

    Circles.javaのソース
    1. import java.awt.*; // ウィンドウ関連ツール(Abstract Window Toolkit)を使う
    2. import java.util.Random; // 乱数を使う
    3. import java.applet.Applet;
    4.
    5. public class Circles extends Applet { // アプレットの名前は Circles にする
    6. public void paint(Graphics g) { // 描画手順は以下の通り
    7. Random a = new Random(); // 新しい乱数列 a を用意する
    8. for (int i = 0; i < 1000; i++) { // 0 から 999 までループ
    9. g.setColor(new Color(a.nextInt())); // 整数の乱数を発生し,それで色を決める
    10. int x = (int)(300 * a.nextDouble()); // 整数変数 x に 300×(0以上1未満の実数の乱数) を(切り捨てて整数にして)代入する
    11. int y = (int)(100 * a.nextDouble()); // 上と同様
    12. int r = (int)(40 * a.nextDouble()) + 10; // 上と同様
    13. g.fillOval(x - r, y - r, 2 * r, 2 * r); // 中心 (x,y),半径 r の円板を描く
    14. }
    15. }
    16. }

    実行結果


    Circles.javaの考察
  • 1、2、3行目は、それぞれ「java.awt.*」,「java.util.Random」,「java.applet.Applet」をインポートしている。
  • 5行目はpublicでCircleという名前のクラスでAppletクラスを継承している。
  • 6行目はメソッド「paint( )」を定義。戻り値がなく、Graphicsオブジェクトを引数gとする。
  • 7行目は「Random a = new Random();」でRandomクラスを用いて乱数にする。
  • 8行目は「for (int i = 0; i < 10; i++) {」ではfor文でint型のiが10以下ならiに+1をし、iが1000になるまで繰り返す。
  • 9、10、11、12、13行目は円の描画処理が行われている。

    [3]反省・感想

  • 後期でははじめてのレポートだったので結構大変だった。次もガンバってレポートに取り組んでいきたい。