Report#2
1.課題
- 講義資料のJavaアプレットを参考に、簡単なディスプレイ出力Javaアプレットを作成せよ。
サンプルアプレットプログラム1 (Helloa.java)
import java.applet.Applet; // 短名 Applet
import java.awt.Graphics; // 短名 Graphics
public class Helloa extends Applet { // サブクラス Helloa
public void paint(Graphics g) { // paint()メソッド
g.drawString("Hello, Java world!", 30, 40); // 文字列描画メソッド
}
}
サンプルアプレットプログラム2 (Circles.java)
import java.awt.*; // ウィンドウ関連ツール(Abstract Window Toolkit)を使う
import java.util.Random; // 乱数を使う
import java.applet.Applet;
public class Circles extends Applet { // アプレットの名前は Circles にする
public void paint(Graphics g) { // 描画手順は以下の通り
Random a = new Random(); // 新しい乱数列 a を用意する
for (int i = 0; i < 1000; i++) { // 0 から 999 までループ
g.setColor(new Color(a.nextInt())); // 整数の乱数を発生し,それで色を決める
int x = (int)(300 * a.nextDouble()); // 整数変数 x に 300×(0以上1未満の実数の乱数) を(切り捨てて整数にして)代入する
int y = (int)(100 * a.nextDouble()); // 上と同様
int r = (int)(40 * a.nextDouble()) + 10; // 上と同様
g.fillOval(x - r, y - r, 2 * r, 2 * r); // 中心 (x,y),半径 r の円板を描く
}
}
}
2.解答・考察
オリジナルアプレットプログラム
import java.awt.*;
import java.util.Random;
import java.applet.Applet;
public class testap 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)(400 * a.nextDouble());
int y = (int)(400 * a.nextDouble());
g.drawLine(x, y, 400 - x, 400 - y);
g.fillRect(x, y, 60, 60);
}
}
}
考察
- 1行目~3行目は「java.awt.*」と「java.util.Randam」と「java.applet.Applet」というクラスを読み込んでいる。「java.awt.*」の「*」は、「java.awt」以下の全てのクラスの取り込み(import)をしている。
- 「java.awt.*」はウィンドウ関係のツールを、「java.util.Randam」は乱数を使うためのクラスを、「java.applet.Applet」はアプレットを使うためのクラスをそれぞれ取り込んでいる。
- 5行目はtestapクラスがAppletクラスを拡張することを宣言している。アプレットでは必ず拡張しなければならない。
- 6行目ではpaint()というメソッドを定義している。
- 7行目で新しい乱数列a列を用意している。
- 8行目はiが0から999の間、つまり1000回繰り返すようにしている。
- 9行目で線や図形の色を決めていて、それがランダムに変わるようになっている。
- 10~11行目で図形の座標として使う変数x,yを乱数を使ってランダムに変わるようにしている。
- drawLine(int x0,int y0,int x1,int y1)は座標x0,y0とx1,y1を結ぶ線を描画する。
- fillRect(int x,int y, int w,int h)は座標x,yに左上隅が配置される幅w、高さhの四角形を塗りつぶして描画する。
3.感想・反省
今回の課題は久しぶりにHTMLを使ったので、タグの使い方などを忘れていてとても大変だった。
Javaアプレットはいろいろなことが出来るようだったが、結局サンプルの応用みたいになってまった。
ほかの人のアプレットはもっとすごかったので,自分ももっと面白いものを作ってみようと思った。
.
.
.
.
.
それと、今回は自分のiBookを修理に出していたのでサーバー班からiBookを借りたのだが、OSが
10.2だったのでかなり使いにくかった。しかもAirMacは使えない設定になってるし、アダプターを
さしていないと1時間弱でバッテリーはなくなるし、USBは2.0じゃないなど、とても困ることが多
かった。挙げ句の果てにターミナルでこのページがアップでかったのには困った。
参考資料・参考サイト
ジョゼフ・オニール著 『独習Java 第3版』
アプレットなJavaの基礎講座
とほほのWWW入門
課題のページへ