まずは文字を描く

絵を表示しておいて、ボタンを押すと絵がパラパラ動くのを作りたいです。しかし、文字の描き方を説明してないので、まずはそれから。

このページではImageSample01.javaを作ります。

ではソースを見てきましょう。まずはimport文。

import com.nttdocomo.ui.*;

com.nttdocomo.uiパッケージがアプレットのjava.appletjava.awtパッケージに相当する感じです。

続いてクラス宣言

public class ImageSample01 extends IApplication {

iαppliのメインクラスは必ずIApplicationクラスのサブクラスにしなくてはいけません。アプレットが必ずjava.applet.Appletを継承していたのと同じ。

次にインスタンス変数の宣言

ImageCanvas canvas;

java.applet.Appletにはpaintメソッドが定義されていて簡単な描画ができますが、com.nttdocomo.ui.IApplicationにはありません。どんな簡単な描画をする場合もCanvasなんかを貼り付けます。ここでは貼り付けるCanvasのサブクラスをインスタンス変数としてます。

そしてコンストラクタ。アプレットにはありませんでしたがiαppliにはあります。

public ImageSample01() {
    canvas = new ImageCanvas();
}

ここでは貼り付けるCanvasのサブクラスを作成するだけです。次のstartメソッドに統合しても構いません。そのstartメソッドは

public void start() {
    Display.setCurrent(canvas);
}

Displayクラスのスタティック・メソッドsetCurrent(Frame frame)を用いて作成したCanvasのサブクラスを表示させるようにしてます。

容易に想像されるようにstartメソッドはiαppliが生成されると最初に呼び出されます。アプレットのstartメソッドと同じです。

ではCanvasのサブクラスImageCanvasを見ていきましょう。サブクラス化する必要ないかと思ったんですが、com.nttdocomo.ui.Canvasabstractクラスなので必ずサブクラス化が必要です。

class ImageCanvas extends Canvas {

ということでサブクラスとして宣言。メソッドはpaintだけで

    public void paint(Graphics g) {
        g.drawString("Walking Pupil", 0, 12);
    }

です。paintの動作はjava.awt.Canvasとほとんど同じ・・・と今の段階では考えておいて良いです。

GraphicsdrawStringメソッドもjava.awt.Graphicsのメソッドと同じ働きです。

ではコンパイルして、事前検証して、パッケージ化しましょう。

D:\iAppli>ijavac ImageSample01.java
D:\iAppli>iprev ImageSample01 ImageCanvas
D:\iAppli>cd output
D:\iAppli\output>jar cvMf image01.jar ImageSample01.class ImageCanvas.class

ADFはimage01.jamです。

ダウンロード用HTMLはhttp://www.segi.org/i/j/t/にあるので、iαppl対応携帯をお持ちの方はお試し下さい。


前の項目へ次の項目へ
「iαppliであそぼう!」のページへ
せぎてつ伝言板
このページの感想をどうぞ!
お名前(匿名OK):

メールアドレス:
Valid CSS! 最終更新日 : 2000年2月11日(日)
tetsu@segi.org