アプレット


はじめに

この文書はアプレット、スレッドの使い方について説明した文書です。とりあえず試験にはあまり出てこなそうなので内容は後日増やしていく予定です。質問があったらにメールなどで教えてください。

目次


アプレットの動かし方


まず、アプレットがどういうものか説明します。
そもそもJAVAは、どのようなマシンでも動かすことができる点がウリだったのですが、その点を活かして、インターネットというあらゆるマシンからアクセスされる可能性のある環境において動くようにしたプログラム、それがアプレットです。アプレットはそのような公開されるという性質上いくつかの制限があります。それは入出力です。いずれ説明しますが、市販のソフトはたいていファイルをロードしたりセーブしたり、何かとファイルをいじくっているものですが、アプレットはそれができません。正確に言うと、入力に関しては同じサーバのファイルからの入力のみ許可され、出力は禁止されています。要はアプレットはソフトというよりは、見せるためのプログラムということになるのです。ただ、何か特別なことをすれば入出力も可能になるようですがその辺の詳細は良くわからないので説明は控えておきます。
次にアプレットの動かし方をサンプルプログラムを用いて説明します。次のプログラムを見て下さい。
import java.applet.Applet;
import java.awt.*;

class Js_3_1 extends Applet{
	public void paint(Graphics g){
		g.drawString("はじめてのアプレット",0,20);
	}
}
まず、このアプレットの動かし方を説明します。まずいままで通りこのファイルをコンパイルしてください。その後、アプレットを動かすには次のようにします。

appletviewer Js_3_1.java

これで起動できたはずです。簡単ですね。次にこれをホームページに公開する方法を教えます。例えば次のようなHTML文書をプログラムがあるディレクトリに作ってみてください。
<html>
<head>
<title>はじめてのアプレット</title>
</head>
<body>
<applet code="Js_3_1.class" width="400" height="400"></applet>
</body>
</html>
直接アプレットの軌道に関係しているのは<applet>の部分です。code属性にはクラスファイルを指定してください。width、heightはそれぞれアプレットの横幅、縦幅の指定です。これでこのHTML文書をブラウザで開くとアプレットが表示されるはずです。やってみてください。
なお、アプレットビューアではアプレットの大きさは指定できないのでしょうか。そんなことはありません。ソースファイルの先頭に、注釈文で囲った次のようなappletタグを書けばそれに従って実行してくれます。
/*
<applet code="Js_3_1.class" width="400" height="400"></applet>
*/
import java.applet.Applet;
import java.awt.*;
	:
	:

Go to Index

アプレットの構造


アプレットは一般的に次のような構造をもっています。
import java.applet.Applet;
import java.awt.*;

class Js_3_2 extends Applet{
	String str;
	public void init(){
		str+="アプレット開始。";
	}
	public void start(){
		str+="実行。";
	}
	public void stop(){
		str+="中断。";
	}
	public void paint(Graphics g){
		g.drawString(str,0,20);
	}
}
まず、アプレットは画面を描画するメソッド、paintメソッドがあります。このメソッドは、そのページが開かれたとき、スクロールバーが動かされ画面が移動したとき、手前に存在していたウィンドウが別の場所に移動したときなど、描画の必要があるときに必ず呼ばれるメソッドです。描画は引数のGraphicsクラスを介して行います。drawStringメソッドは文字を描画するメソッドです。
アプレットには他にinit,start,stopなどのメソッドがあります。これらはそれぞれ、アプレットの開始時・initの実行後やアプレットの再開時・アプレット中断時 に呼ばれます。特にinitは配列変数やオブジェクトの初期化などを行う上で重要なので覚えておきましょう。

Go to Index