紙コップ

Javaアプレットの雛形2

2009-02-16 13:35:04

Javaアプレットの雛形その2です。「Javaアプレットの雛形その1」と違うところは、クラスパスを通している部分です。



今回の雛形は、ディレクトリの階層構造が以下のようになっています。



/AppletTemplate2

   ├/com

   │ └/aquaplace

   │   ├ SuperClass.class

   │   └ SubClass.class

   │

   ├ AppletTemplate2.class

   ├ MANIFEST.MF

   ├ AppletTemplate2.html

   ├ AppletTemplate2.bat

   └ AppletTemplate2.sh





最終的にjarの中身はこうなります。



AppletTemplate2.jar

   ├/com

   │ └/aquaplace

   │   ├ SuperClass.class

   │   └ SubClass.class

   │

   ├ AppletTemplate2.class

   └ MANIFEST.MF





Javaアプレットの実行時に「AppletTemplate2.class」がきちんと、「com.aquaplace」パッケージ配下の「SuperClass.class」、「SubClass.class」に正しくアクセスできるかどうかがポイントになります。



ちなみに、「SuperClass.class」、「SubClass.class」はアクセステスト用のダミーにようなもので、特に目立った処理は行いません。



■Javaソースコード(AppletTemplate2.java)

/**

* Javaアプレットテンプレート2

*/



import com.aquaplace.*;

import java.applet.*;



public class AppletTemplate2 extends Applet {

  public void init() {

    //初期化処理

    SuperClass supClass = new SuperClass();

    SubClass subClass = new SubClass();



    supClass.sampleMethod();

    subClass.sampleMethod();

  }

}





■Javaソースコード(com/aquaplace/SuperClass.java)

package com.aquaplace;



public class SuperClass {

  public SuperClass() {



  }

  public void sampleMethod() {

    System.out.println("SuperClass sampleMethod.");

  }

}





■Javaソースコード(com/aquaplace/SubClass.java)



package com.aquaplace;

public class SubClass extends SuperClass {

  public SubClass() {

    super();

  }

  public void sampleMethod() {

    System.out.println("SubClass sampleMethod.");

  }

}





■HTMLファイル(AppletTemplate2.html)



<applet codebase="." code="AppletTemplate2" archive="AppletTemplate2.jar" alt="" width="320" height="240">

Javaアプレット使用不可

</applet>





■マニフェストファイル(MANIFEST.MF)



Main-Class: AppletTemplate2

Class-Path: .

Created-By: 1.6.0_12





■Windows用バッチファイル(AppletTemplate2.bat)



javac -classpath . *.java

jar cvfm AppletTemplate2.jar MANIFEST.MF *.class com/aquaplace/*.class

appletviewer AppletTemplate2.html





■Linux用シェルスクリプトファイル(AppletTemplate2.sh)



#!/bin/sh

javac -encoding SJIS -classpath . *.java

jar cvfm AppletTemplate2.jar MANIFEST.MF *.class com/aquaplace/*.class

appletviewer AppletTemplate2.html





クラスパスは、そのファイルから見た「パッケージのルートディレクトリ」を指します。例では、クラスパスを指定している箇所はどれも「.」となっています。マニフェストファイル(MANIFEST.MF)、バッチファイル(AppletTemplate2.bat)、スクリプトファイル(AppletTemplate2.sh)はどれもAppletTemplate2ディレクトリ直下で、パッケージのパスは、それら3つのファイルからは「com/aquaplace/」に見えます。その見かけのパスのルート、つまり起点となる位置をクラスパスで指定します。クラスパスはややこしいので注意してください。



たとえば、下に示すように、パッケージ「com/aquaplace/」がAppletTemplate2ディレクトリの「class」フォルダ配下にあったとしたら、クラスパスの指定は「./class/」または「class/」となります。



/AppletTemplate2

   ├/class

   │ └/com

   │   └/aquaplace

   │     ├ SuperClass.class

   │     └ SubClass.class

   │

   ├ AppletTemplate2.class

   ├ MANIFEST.MF

   ├ AppletTemplate2.html

   ├ AppletTemplate2.bat

   └ AppletTemplate2.sh





この記事が、参考になった、面白かったという方はクリックをお願いいたします!







[ブログ内検索用キーワード]

雛形 Java Applet アプレット クラスパス パッケージ

※このエントリは ブロガーにより投稿されたものです。朝日インタラクティブ および ZDNet Japan編集部の見解・意向を示すものではありません。
  • 新着記事
  • 特集
  • ブログ