1,プログラム |
2,classファイル |
3,HTMLの編集 |
作成されたプログラムは次のようになっています。 なお、コメント文は削除しています。
import java.applet.*; import java.awt.*; public class namae extends Applet { public namae() { } public String getAppletInfo() { return "名前: namae\r\n" + "著作者: 小林成徳\r\n" + "Microsoft Visual J++ Version 1.1 で作成されました"; } public void init() { resize(320, 240); } public void destroy() { } public void paint(Graphics g) { g.drawString("Hello Java", 10, 20); } public void start() { } public void stop() { } }
最初のpublic namae()はコントラクタになっています。
public String getAppletInfo()は著作権情報です。
この部分はなくてもかまいません。
public void init()は、初期設定をします。
public void destroy()はWindowが閉じられたときに呼び出されます。
public void paint(Graphics g)はC++の「OnDraw(CDC* pDC)」に相当するものです。
今回は「Hello Java」と表示したいので変更をしました。
public void start()とpublic void stop()はマルチスレッド用のものです。
ここでは使わないので削除してもかまいません。
アプレットは次のような順で実行されていきます。
コントラクタ | → | init | → | start | ↓ |
destroy | ← | stop | ← | メインプログラム 必要によってpaintが実行 |
コントラクタはクラスのオブジェクトを宣言したときに実行されます。
initは変数の初期設定などをします。
start/stopでマルチスレッドの開始/停止の制御をします。
destroyはWindowが破棄されたときに呼び出されます。
今のファイルをコンパイルします。
このとき、今のプログラムの書かれた「namae.java」ファイルを元にして
「namae.class」ファイルを作成します。
classファイルはクラスごとにできるのでクラスが複数ある場合は
複数のclassファイルができます。
HTMLからはこのclassファイルを読み出すことになります。
続いてHTMLファイルの編集をするのですが、次のようにできあがっています。
<html> <head> <title>namae</title> </head> <body> <hr> <applet code=namae.class name=namae width=320 height=240 > </applet> <hr> <a href="namae.java">ソース</a> </body> </html>
もし、HTMLファイルとclassファイルを別々にしたい場合は
<applet code=namae.class name=namae CODEBASE=../java width=320 height=240 > </applet>
のようにCODEBASEを使います。
C++のPageに戻る