ゲーム専門学校 ゲームプログラム入門 JavaGUI編

Javaアプレット

(a) AWTによる雛形

Samp06.html
<HTML>
<BODY>
<CENTER>
        <applet code="Samp06" width=400 height=200>
        </applet>
</CENTER>
</BODY>
</HTML>

Samp06.java
import java.applet.*;
import java.awt.*;

/*
        <applet code="Samp06" width=400 height=200>
        </applet>
*/

public class Samp06 extends Applet {
        // 再描画メソッドをオーバーライドする
        public void paint(Graphics g) {
                String str = "AWTによるアプレット";
                g.drawString(str, 20, 50);
        }
}

《解説》

Samp06.html
<HTML>
<BODY>
<CENTER>
        <applet code="Samp06" width=400 height=200>
        </applet>
</CENTER>
</BODY>
</HTML>
アプレットはブラウザから起動することが前提となっているので、アプレットを起動するためのhtmlファイルが必要である。
appletタグで起動するアプレットクラスとそのサイズ(width height)を指定する。
Samp06.java
import java.applet.*;
import java.awt.*;
AWTアプレットにはjava.appletのパッケージが必要になる。
/*
        <applet code="Samp06" width=400 height=200>
        </applet>
*/
javaの文法的にはコメントであり実行には影響を与えないが、アプレットビューアを実行する際、この文によってアプレット名、サイズが指定される。(したがってアプレットビューアを使用しないときは不要である)
アプレットビューアはブラウザなしでアプレットを実行させるツールであり、htmlファイルが不要となる。
IE6には、AWTによるアプレトを実行する機能はあるが、swingによるアプレットを実行する機能がないので動作確認をするにはアプレットビューアを利用する。
参考:アプレットビューアの実行方法
javac Samp06.java
appletviewer Samp06.java


public class Samp06 extends Applet {
AWTアプレットにするにはAppletクラスのサブクラスとする。
        public void paint(Graphics g) {
                String str = "AWTによるアプレット";
                g.drawString(str, 20, 50);
        }
アプレットにはmainメソッドはない。
ブラウザがmainメソッドに該当し、それにより起動されたと考える。
paintメソッドオーバーライドして再描画時の処理を記述する。

アプレットは6つの基本メソッドがあり、必要なものだけをオーバーライドする。
destroy() アプレット終了時に呼び出される
init() 初回のみ呼び出される
paint(Graphics g) 初回と再描画時に呼び出される
start() アプレット表示のたびに呼び出される
stop() 他の処理に移行すると呼び出される
update(Graphics g) 初回を除き再描画時に呼び出される

(b) swingによる雛形

Samp07.java
import javax.swing.*;
import java.awt.*;

/*
        <applet code="Samp07" width=400 height=200>
        </applet>
*/

public class Samp07 extends JApplet {
        // 再描画メソッドをオーバーライドする
        public void paint(Graphics g) {
                String str = "swingによるアプレット";
                g.drawString(str, 20, 50);
        }
}

《解説》

import javax.swing.*;
import java.awt.*;
swingアプレットにはjavax.swingのパッケージが必要になる。
/*
        <applet code="Samp07" width=400 height=200>
        </applet>
*/
IE6では、swingアプレットを実行できないので動作確認を行いうにはアプレットビューアを利用する。
public class Samp07 extends JApplet {
swingアプレットにするにはJAppletクラスのサブクラスとする。

(c) アプレットのサンドボックス

アプレットはブラウザで動作することが前提となっていて、ネットワークからダウンロードされ実行されるアプリケーションである。
そのため、安全性の配慮からサンドボックスとよばれる実行環境で動作する。
サンドボックスには次のような制限がある。

・ローカルファイルの操作を禁止
・新たなネットワークへの接続禁止
・自分以外のスレッド、プロセス操作の禁止
・システムへのアクセス禁止
inserted by FC2 system