レポート#2
課題
講義資料のJavaアプレットを参考に、簡単なディスプレイ出力Javaアプレットを作成せよ。
まず、プログラムを見る前に実行結果をどうぞ。
こちらへ
ーーープログラムーーーーーーーーーーーーーーーーーーーーーーー
[Masaki-HIGA:~/java-rep/rep#2] j03043% cat app.java
import java.applet.Applet;
import java.awt.*;
import java.util.Random;
public class app extends Applet implements Runnable
{
int num;
public void init() //アプレットの初期化
{
Thread th; //スレッドを宣言
th = new Thread(this);
th.start(); //スレッド起動
}
public void run()
{
try{
for(int i=5; i>-3; i--){
num = i;
repaint(); //画面表示の更新
Thread.sleep(1000); //スレッドを1秒ごとに一時停止
}
}
catch(InterruptedException e){}
}
public void paint(Graphics g)
{
Random a = new Random();
String str = num +"";
g.setFont(new Font("Serif", Font.BOLD, 500)); //文字の大きさ、書体
g.setColor(new Color(a.nextInt())); //文字の色
g.drawString(str, 180, 370); //座標(90,50)に文字列strを表示
}
ーーー実行結果ーーーーーーーーーーーーーーーーーーーーーーーー
こちらへ
考察
import java.awt.*
これは、本来同じパッケージ中の複数のクラスをインポートするときには複数の名前を
いちいち指定しなければなりません。しかしインポートしたいパッケージを指定して、最後に*
をつければ、「パッケージ内の複数のクラスをすべてインポートする」ということになります。
これによって面倒を省くことができます。上記のプログラムでも、本来なら
import java.awt.Graphics;
import java.awt.Color;
import java.awt.Font;
のように、java.awtというパッケージ中で3つのクラスをインポートするのですが*をつけることで
1つにまとめることができました。
注意点としてはサブパッケージのクラスまではとり込むことはできないことです。
サブパッケージのクラスもインポートしたいときはまた他で独自にとり込む必要があります。
ここで、クラスライブラリの主なパッケージを紹介します。
パッケージ名 |
パッケージに含まれるクラス |
java.applet |
アプレット関連のクラス |
java.awt |
ウィンドウ部品関連のクラス |
java.awt.event |
イベント関連のクラス |
java.lang |
基本的なクラス |
java.io |
入出力関連のクラス |
java.net |
ネットワーク関連のクラス |
java.util |
ユーティリティ関連のクラス |
tryとcatchの2つのブロック
この2つのブロックは、プログラム中での例外処理をする基本となるものです。
使い方としては、
try{
例外の発生を調べる文;
・・・
}
catch(例外のクラス 変数名){
例外がおきたときに処理する文;
・・・
}
といった感じです。例外に対して適切な処理をおこなうコードを書くことで、
エラーに強いプログラムを作成することができます。
Graphicsクラスの主なメソッド
drawArc() |
円弧を描く |
fillArc() |
塗りつぶされた円弧を描く |
drawImage() |
イメージを描く |
drawLine() |
線を描く |
drawOval() |
楕円を描く |
fillOval() |
塗りつぶされた楕円を描く |
drawPolygon() |
多角形を描く |
fillPolygon() |
塗りつぶされた多角形を描く |
drawRect() |
四角形を描く |
drawString() |
文字列を描く |
今回のプログラムではdrawString()といった文字列を出力するメソッドを使っています。
感想・反省
今週はプログラムひとつでよかったので比較的楽でした。でもバイトとかが入ってたので
時間的には厳しかったです。アプレットは楽しいなぁ〜なんて思いました。
本当はカウントダウンの後に何かしたかったんですがあきらめました。
今週はもうずっと学校休みのようなもんなので最高にうれしいです、でも来週のテストが
怖い。教科書みていいってことはムズイってことだと思うのでがんばって勉強します。
ーーー参考文書ーーーーーーーーーーーーーーーー
はじめてのJavaプログラミング
やさしいJava
ーーー参考ホームページーーーーーーーーーーーー
根保のページ(j035740ぐらいだったきがする)