- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
!!! 第一章 Java プログラミングの基礎
!! 1-3. Javaプログラムの基礎
! アプレット
JavaのGUIプログラムとして有名なのが「アプレット」です。Javaがこれほどまでに広がるきっかけとなった一つが、このアプレットです。
アプレットとは、ネットワークを通じてダウンロードされ、ブラウザのウィンドウに埋め込まれて実行されるプログラムのことです。ネットワークを介するものですのでプログラムサイズが小さく、セキュリティにも配慮されています。
昔はウェブページといえば、文字と画像だけで構成されているものがほとんどでした。ところが、そこにアプレットが登場し、ブラウザ上で動きを表現したり、リアルタイムに計算して表示させることが可能になりました。これは当時としてはとても画期的なことだったので、Javaが爆発的に普及するきっかけとなったのです。
現在ではFLASHやSHOCKWAVEといった環境や、JavaScript といったスクリプトをブラウザがサポートしており多彩な表現が可能となっています。それでもJavaアプレットは物理現象を表現するのに適したツールの一つであると思います。
簡単なアプレットプログラムの例を見てみましょう。
''Sample20.java''
1./* <applet code="Sample20.class" width="200" height="200"></applet>*/
2.import java.applet.*;
3.import java.awt.*;
4.
5.public class Sample20 extends Applet{
6. String message = "Hello, World!!";
7.
8. /*
9. * 描画を行うメソッド
10. */
11. public void paint( Graphics g){
12. g.drawString( message, 0, getHeight()/2);
13. }
14.}
{{pre num
/* <applet code="Sample20.class" width="200" height="200"></applet>*/
import java.applet.*;
import java.awt.*;
public class Sample20 extends Applet{
String message = "Hello, World!!";
/*
* 描画を行うメソッド
*/
public void paint( Graphics g){
g.drawString( message, 0, getHeight()/2);
}
}
}}
これを今まで通りjavac でコンパイルして下さい。ただし、実行方法が少しかわります。コマンドプロンプトで
appletviewer Sample20.java
と入力してください。図14ようなウィンドウが現れるはずです。
{{ref_image fig014.png}}
'''図14''' Sample20 を appletviewer で見た結果
さて、では今までのCUIプログラムと変わった点を見ていきましょう。
まずは1行目に書いてある
/* <applet code="Sample20.class" width="200" height="200"></applet> */
ですが、コメント2になっていることからも分かるように、これはプログラムとは直接関係はありません。これはappletviewerがアプレットを起動するために必要なのです。本来はHTMLファイルというWEBページ用のファイルを用意して、そこに書くべきなのですがここでは横着してソースコード中に埋め込みました。
実際にWEB上で公開するには次のようなファイルを作ります。WEBでの公開の詳細については付録「World Wide WEBでの公開」(195ページ)を参照して下さい。
''applet.html''
<html>
<body>
<applet code="Sample20.class" width="200" height="200">
</applet>
</body>
</html>
これをブラウザで読み込むことで、ブラウザのウィンドウ内でアプレットが実行されます。
5行目に、いままでにはついてなかった「extends Applet」という言葉があります。これは「このプログラムがAppletクラスを継承しますよ」ということを表します。クラスを継承すると、継承元のクラスが持っている public 属性の変数やメソッドを引き継ぐことができます。これがJavaのオブジェクト指向の強力な点です。アプレットクラスを継承すれば、ウィンドウを作ったり、画面に表示したりといった面倒な処理はあらかじめ解決済みなのです。我々がやるべきことは「何を表示するのか」や「ユーザの操作にどう反応するのか」といったことだけに軽減されるのです。
次章からは、実際にアプレットを作成していきます。