BDK Demo

BDK(Beans Development Kit) の Demo を動かします。

前田稔の超初心者のプログラム入門

プログラムの作成

  1. BDK(Beans Development Kit) とは Sun Microsystemes が提供している Beans の開発ツールです。
    詳細は BDK(Beans Development Kit) を参照して下さい。
    BDK が C:\beans\ にインストールされているものとして説明します。
    C:\beans\demo\html\ には二本のサンプル(HTML ファイル)が格納されています。
     @juggler.html
     Awrapper.html
    残念ながらダブルクリックで起動しただけでは動きません。
    この Demo を動かしてみましょう。
  2. 実は Demo を動かすのは簡単で、*.java をコンパイルして *.class を作成するだけです。
    まずは @C:\beans\demo\html\juggler.html から動かしてみましょう。
    juggler.html の Class は次のように定義されています。
    code="sunw/demo/juggler/Juggler.class"
    つまり「sunw/demo/juggler/」のフォルダーから Juggler.class を呼び出します。
    "C:\beans\demo\sunw\demo\juggler\" には juggler.java が格納されています。
    これをコンパイルして Juggler.class を作成すれば良いのです。
  3. package は次のように定義されています。
    package の説明は「プログラム入門(Java)/Java Program Note/Package でフォルダーを分ける」 を参照して下さい。
    package sunw.demo.juggler;
    従ってコンパイルするには C:\beans\demo\ をカレントにして、次のコマンドを実行します。
    CD C:\beans\demo
    javac sunw\demo\juggler\Juggler.java
  4. C:\beans\demo\html\juggler.html をダブルクリックして起動して下さい。
    Duke のアニメーションが描画されたらOKです。
    アニメーション画像は demo\juggler\ に Juggler0.gif〜Juggler4.gif の名前で格納されています。

  5. Awrapper.html も同じ要領なので、読者自身で動かしてみて下さい。
    BeanWrapper.java は下記のフォルダーに格納されています。
    C:\beans\demo\sunw\wrapper\BeanWrapper.java

juggler の説明

  1. C:\beans\demo\html\juggler.html のコードです。
    <html>
    <head>
    <title>Juggler</title>
    </head>
    </html>
    
    <body>
    <h1>Juggler</h1>
    
    Simple HTML page to show the Juggler bean running as an applet.
    
    <applet
        codebase=../
        code="sunw/demo/juggler/Juggler.class"
        width=144
        height=125
    >
    </applet>
    
    </body>
    
  2. 本来 Beans はプログラムの部品で、メインプログラムに組み込まれて呼び出されます。
    メイン.html⇒メイン.class(java)⇒Bean.class(java)
    所が Juggler.class(java)は、Duke のアニメーションを描画する完成したプログラムで HTML から直接呼び出しています。
    juggler.html⇒Juggler.class
    code="sunw/demo/juggler/Juggler.class"
  3. juggler.java を見てみましょう。
    "C:\beans\demo\sunw\demo\juggler\juggler.java" に格納されています。
    HTML から直接呼び出すので Applet を継承しています。
    Juggler0.gif〜Juggler4.gif の5枚の画像をスレッドで切り替えながらアニメーションします。

wrapper の説明

  1. C:\beans\demo\html\wrapper.html が Beans を呼び出す HTML です。
    wrapper.class(java)もメインプログラムを使わずに、HTML からパラメータを変えて3回呼び出します。
    <param name=bean value=sunw.demo.juggler.Juggler>         //1回目
    <param name=bean value=sunw.demo.molecule.Molecule>       //2回目
    <param name=bean value=sunw.demo.sort.SorterBean>         //3回目
    
  2. wrapper.java を見てみましょう。
    "C:\beans\demo\sunw\wrapper\BeanWrapper.java" に格納されています。
    String beanName = getParameter("BEAN"); でパラメータを取得します。
    次に beanName で渡された bean class を取得して実行します。
        ClassLoader cl = this.getClass().getClassLoader();
        Object o = Beans.instantiate(cl, beanName);
        bean = (Component) o;
        
  3. 本来 Beans はプログラムの部品で、メインプログラムに組み込むのが基本です。
    2個のサンプルはメインプログラムを使わずに、HTML から直接呼び出す特殊なケースと言えるでしょうか。
  4. C:\beans\demo\sunw\demo\ には、沢山のサンプルフォルダーが格納されています。
    ここのソースは Java Beans のプログラムの参考になりそうです。

Make FIle

  1. C:\beans\demo\ のフォルダーを見て下さい。
    ここには沢山の Make FIle(*.gmk, *.mk)が格納されています。
    これらは C:\beans\demo\sunw\demo\ のプログラムをコンパイルするために用意されたもののようです。
    拡張子が *.gmk は GNU-C 用で、UNIX の Make File です。
    拡張子が *.mk は Windwos 用の Make File です。
    簡単な見分け方は「rm コマンド」が使われているのが UNIX 用で、「del コマンド」が使われているのが Windows 用です。
  2. Java は Microsoft に対抗して UNIX で発展して来た歴史があります。
    その関係で今でも UNIX 上で動かしている人が多いのでしょうか。
    UNIX で Make を使うときは GNU make などがお勧めです。
    Windows で Make を使うときは VisualC++ の nmake などがお勧めです。
    念のために申し添えますが、Windows で GNU make を使っても正常に実行出来ませんでした。 (^_^;)
  3. ここでは nmake の使い方を説明します。
    1. Visual Studio をインストールしているときは、nmake.exe が VC\bin\ に格納されています。
      コントロールパネル/システム/システムの詳細設定/詳細設定/環境変数から Path を選んで 「;C:\Program Files (x86)\Microsoft Visual Studio 8\VC\bin\」を追加します。
      フォルダー名は、Windows や VC のバージョンによって変わるので、自分のパソコンで確認して下さい。
    2. Command Prompt を起動して、Make を使ってコンパイルします。
      -f はファイル名を指定するときのスイッチで、-f を省略したときの既定値は Makefile になっています。
      C:\Users>CD C:\beans\demo
      C:\beans\demo>nmake -f jelly.mk
    3. 次のメッセージが表示されたときは、nmake.exe が見つからないときです。
      nmake.exe のフォルダーや Path の設定を確かめて下さい。
      'XXXXX'は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。

超初心者のプログラム入門(Java2)