アプレットでアプリ
アプリケーションとアプレットの共有
これまで、アプリケーションとアプレットを切り離して解説してきました
もちろん、それぞれの機能は別物です
ここで気になるのがアプレットとアプリケーションを組み合わせられないのかということです
つまり、コマンドラインからJDKの java コマンドで実行することができ
かつ、ブラウザでも見ることができるという代物です
じつは、それは簡単に実現できるのです
配布用のアプリケーションとしてJavaで作ったソフトを
ウェブページのアプレットとして持つ書いた場合、特別な移植作業はいりません
Appletクラスを継承し、main()の変わりにinit()で初期化してあげればよいのです
Appletの場合は、ファイル操作などができないということにも注意しなければいけません
Appletのソースでは、アプリケーションのファイル操作部分を避けるように作ればよいですね
アプリケーションではmain()メソッドからはじまり、Appletではinit()から始まるというだけなのです
もちろん逆に、アプレットで作ったソフトを、配布用のアプリケーションにしたい場合も
Appletに代わるFrameを作成し、main()メソッドからインスタンスを生成して実行すればよいのです
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
/*
<applet code="test.class" width="200" height="200">
</applet>
*/
public class test extends Applet{
public static void main(String args[]) {
test win = new test();
win.appRun();
}
public void appRun() {
Frame frm = new Frame("Kitty on your lap");
frm.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
frm.setSize(200 , 200);
write(frm , "Kitty on your lap");
frm.setVisible(true);
}
public void init() {
write(this , "Card Captor Sakura");
}
public void write(Container com , String str) {
com.add(new Label(str));
}
}
このプログラムは、アプレットとしてビューワやHTMLに張りつけるなどして実行することもでき
アプリケーションとして実行することもできます
アプリケーションとして実行された場合は Kitty on your lap と
アプレットとして実行された場合は Card Captor Sakura とラベルに表示されます