Java講座2−1「アプレットってなんじゃらほい」

〜いつも隣にアプレット〜

はね:今回は、アプレット(applet)についてやります。

トモ:エイ!エイ!オーッ!!

はね:あれ?なんで君がいるの?

トモ:前回のネタを持ち越すなよ・・・。

アプレットってなんじゃらほい

トモ:アプレットっていうのは「なたのジョーはレッカー移動された聞いたわよ」の略で、これはJavaの開発者がちょっとした用事で車を道端に停めておいたらレッカー移動されてしまったという故事に基づくもので・・・

はね:でたらめ言うな!
アプレットというのは、アプリケーション(application)と、小さいという意味の接尾語letをつなげた造語だ。

アプレットの例

トモ:ブラウザ上で動くJavaプログラムのこと?

はね:だいたいそんなところだ。専用のソフトを使って実行することもできるがな。

トモ:ふーん、FLASHとは違うの?

はね:FLASHはFLASHだ。アプレットはJavaだ。FLASHについては私も詳しいことは知らないが、まったく違う。

アプレットを書く(準備)

はね:アプレットは普通のプログラムより簡単です。だから、まずはアプレットのプログラムを書きながら進めていきます。

トモ:おのれ!簡単な方に逃げる気か、この卑怯者め!

はね:何とでも言え。難しいのから始めて、大多数が挫折するよりはマシじゃあ。

トモ:うん、そうだね。

はね:・・・やけにあっさりしてるな。

トモ:やっぱ簡単なほうがいいでしょ!

はね:(なら最初から素直に聞けよ・・・)それじゃあ、アプレットのプログラムを書くのだが、その前にちょっと準備をしよう。

トモ:脱ぐ?

はね:勝手に脱いでろ。まずは、JDKをインストールしたフォルダに移動する。さらに、binというフォルダに移動。

トモ:なんか同じようなファイルが並んでるね。

はね:その中に「appletviewer.exe」というファイルがあるはずだ。それを、同じbinフォルダにコピーする。すると「コピー〜appletviewer.exe」というファイルができるはずなので、この名前を「av.exe」と変更する。

トモ:ふーん、これでどうなるの?

はね:後々、作業が簡単になる。なお、この方法は新世紀 爆裂健ホームページII(JAVA系)を参考にさせていただいた。

トモ:「参考にした」って、要は「パクった」ってことだよね?

はね:う。そこら辺は、大人の言い回しってやつだ・・・。

今度こそ、アプレットを書く

はね:まずは何も言わずに、以下の内容を「HelloApplet.java」という名前で、作業用フォルダに保存して欲しい。コピペでもOKだが、打った方が頭に入るかも知れない。

HelloApplet.java
// HelloApplet.java
//   from java021.html

import java.applet.*;
import java.awt.*;
import java.lang.*;

public class HelloApplet extends Applet
{
	public void init() {

	}

	public void paint(Graphics g) {
		g.setColor(Color.black);
		g.drawString("HelloApplet", 100, 100);
	}

	public void update(Graphics g) {
		paint( g );
	}
}
はね:また、次の内容のファイルを「HelloApplet.html」という名前で保存する。なお、「〜.html」の方のファイル名は自由だが、「〜.java」の方のファイル名は「public class HelloApplet」の部分と同じでなければならないので注意。

HelloApplet.html
<object codetype="application/java" code="HelloApplet.class" width="480" height="320">
</object>

はね:それができたら、コマンドプロンプト(DOS窓)を開いて、作業フォルダに移動、javac HelloApplet.javaと入力&Enterを押してコンパイルする。

トモ:コンパイル完了。何もメッセージが出ないから、分かりづらいねえ。

はね:そしたら、av HelloApplet.htmlと入力すると、HelloAppletとだけ書かれたウィンドウが出てくるはずだ。確認できたら、右上の×を押して消していい。

トモ:はじめのうちはつまらんのぉ。

はね:今の作業で、「appletviewer.exe」をコピーして「av.exe」というファイルを作った理由が分かるだろう?

トモ:はい!家電量販店で、「AV」と書かれているのが「Audio&Visual」という意味だと知っている人は意外と少ないと思います!

はね:何の話だ!? さて、頭のいい読者の方は気づかれているでしょうが、もし「av.exe」をコピーしていない場合はav HelloApplet.htmlと入力する代わりに、appletviewer HelloApplet.htmlと入力しなければなりません。しかし、これは面倒です。なので省略してしまうわけです。

トモ:爆裂健氏に感謝。

アプレットソースの説明

HelloApplet.java
// HelloApplet.java
//   from java021.html

// 下の3行は、Java標準のクラス(*1)をインポート(*)します。
import java.applet.*;
import java.awt.*;
import java.lang.*;

// HelloAppletというのがクラス名です。
// extends Appletで、「このクラスはアプレットですよ」と宣言しています。
public class HelloApplet extends Applet
{
	public void init() {
		// アプレットが実行されて最初に呼び出される部分
	}

	public void paint(Graphics g) {
		// 画面の描写
		g.setColor(Color.black);// 色の設定
		g.drawString("HelloApplet", 100, 100);// 文字を表示、100,100というのは表示位置
	}

	public void update(Graphics g) {
		// 再描写
		// 一度ウィンドウを最小化して、再び表示させたときなどに呼び出されます
		paint( g ); // 描写部分を呼び出し
	}
}

*1 Java標準のクラス:Javaがオブジェクト指向の言語であることは前に述べたと思います。オブジェクト指向とは、プログラムをいくつかのクラスに分け、それらのクラスが互いにやり取りすることでプログラムを実行する、という手法でした。Javaでも、プログラムは複数のクラスから成り立っています。その中でも、代表的な機能を果たすクラスについては、JDKが標準に用意してくれています。それらのクラスについての説明は<途中>をご覧になるとよいでしょう。

*2 インポート:Javaでは、別のクラスの内容を取り込むことをインポートといいます。JDKが用意するクラスだけでなく、自分がつくったクラスもインポート可能です。というか、外部のクラスはインポートしなきゃ使えません。外部ってのは一つのファイルの外部という意味です。

次回予告

はね:まったく進んでる気がしないが、今回はここまでだ。

トモ:思ったより進まないね。

はね:1つのページにたくさん書きすぎると、読む気がなくなるからな。小出しにするのがコツだ。

トモ:ふーん。それではまた次回ー。

はね:次回は、上で書いたのをもうちょっと発展させていきます。


感想をお伝え下さい。このページの半分は皆さんからの優しさでできています。あとの半分は飲むヨーグルトです。
お名前、メールは省略可能です

お名前:
メール:

Java講座のトップに戻らせてください