AppletViewer以外のブラウザーでの実行

本書で作るJava 3Dアプレットは、 Java 2 SDK付属のAppletViewerで実行できます。
では、Netscape CommunicatorやInternet Explorerなど、 AppletViewer以外のブラウザーで実行できるのでしょうか。

結論から言うとこのままではできません。
Netscape CommunicatorやInternet Explorerに搭載されている Java VM (Java 仮想マシン)はJava 2やJava 3Dをサポートしていないからです。

これを解決する仕組みがJava Plug-inです。

通常のJavaアプレットは、HTMLの <APPLET> タグを使って、ブラウザーに内蔵されたJava VM上で実行されます。

(QuickTimeやShockWaveなどの)プラグイン・コンテンツの場合、 HTMLの<EMBED>タグを使って、 ブラウザーのプラグイン上で再生されます。

Java Plug-inを使う場合、Javaアプレットは、 HTMLの<EMBED>タグを使って プラグイン・コンテンツとして実行されます。
Java Plug-inはSunのJava VMをロードし、 Javaアプレットを実行させます。
ブラウザーがJava 2 SDK 1.2以降に対応していなくても、 常に最新のJava VMを使用することができます。

Java Plug-inはJava 2 Runtime Environmentに含まれています。

Java Plug-inを使うには、開発側、利用側で 次のような作業が必要になります。

  1. 開発側
    1. Java Appletを開発する
    2. <APPLET>タグを使った通常のHTMLを書く
    3. Java Plug-in HTML Converterで Java Plug-in対応のHTMLに変換する
  2. 利用側
    1. Java 2 Runtime Environment (Java Plug-in) インストール
    2. Java 3D Runtime for JREインストール
    3. Java Plug-in Control Panelで環境設定する

ここではWin32 (Windows 95/98, Windows NT 4.0, Windows 2000)用の Java Plug-inについて解説します。

■Java Plug-inでJava 3Dを実行させるときの注意点

本書執筆時点での注意点は次の通りです。

1の理由ですが、Java 3D Runtime and Examples for the JDKと Java 3D Runtime for the JREでは インストール先のディレクトリーの階層構造が異なります。

Java 3D Runtime and Examples for the JDKは、 次のような構造であることを前提にインストールを実行します。

Java 2 SDKインストールディレクトリー (通常はC:\jdk1.3など)
 |
 +---JRE
     |
     |---bin  (J3D.dllなどをインストール)
     |
     +---lib
         |
         +---ext (j3d*.jar, vecmath.jarをインストール)
      

Java 3D Runtime and Examples for the JKDを、
Java Plug-inのインストール先である C:\Program Files\JavaSoft\JRE にインストールしても、
上記とディレクトリー構成が異なるためうまく動作しません。

Java 3D Runtime for the JREのインストール先ディレクトリー構成は つぎのようになっています。

Java Plug-in (JRE)インストールディレクトリー (通常は C:\ProgramFiles\JavaSoft\JRE\1.3など)
 |
 |---bin  (J3D.dllなどをインストール)
 |
 +---lib
      |
      +---ext (j3d*.jar, vecmath.jarをインストール)
      

Java Plug-inを使用する場合は必ずJava 3D Runtime for the JREを インストールしてください。

JREはJava Runtime Environmentの略です。 Java 3Dはバージョン1.2以降のJava 2 Runtime Environmentで動作します。

Java 3DのアプレットをJava Plug-inで実行させるには

まず開発側では、Java Plug-inに対応したHTMLファイルを書く必要があります。

Java Plug-in対応のHTMLはエディターなどを使って書くこともできますが、 <APPLET>タグを使って書かれた 通常のHTMLから変換するツールが公開されています。

これがJava Plug-in HTML Converter です。 本書執筆時点でのバージョンは1.2です。

実行環境には以下のものが必要です。

  1. Java 2 Runtime Environment (Java Plug-in) 1.2.x以降
  2. Java 3D Runtime for the JRE 1.1.x以降

Win32用のJava 2 SDKにはJREと Java Plug-inが含まれています。
Java 2 SDKに付属のJREとJava Plug-inがインストールされている場合には、 Java 2 Runtime Environmentを入手する必要はありません。

Java 2 SDKにはJava 3D Runtime and Examples for the JDKを インストールしてください。

Java 2実行環境 Java 2 SDK
Java 3Dランタイム Java 3D Runtime and Examples for the JDK

Java 2 SDKがインストールされていない場合、 Java 2 Runtime Environmentが必要になります。

Java 2 Runtime EnvironmentにはJava 3D Runtime for the JREを インストールしてください。

Java 2実行環境 Java 2 Runtime Environment (Java Plug-in)
Java 3Dランタイム Java 3D Runtime for ther JRE

Java Plug-in HTML Converter, Java 2 Runtime Environment (Java Plug-in)のダウンロード

Java Plug-inについての情報は下記ページを参照してください。

http://java.sun.com/products/plugin/

plugin122_top.png

このページの下のほうに Java Plug-in Software 1.2 HTML Converter へのリンクがあります。

plugin13.png

また、Java Plug-in software 1.3 へのリンクもあります。
Java Plug-in Software 1.2 HTML ConverterJava Plug-in software 1.3の両方をダウンロードしてください。
Java Plug-in software 1.3へのリンクは 実際にはJava 2 Runtime Environment 1.3 のダウンロードページにリンクしています。

筆者がダウンロードしたのは 次のファイル名とファイルサイズのものです。

名称 ファイル名 サイズ(バイト)
Java Plug-in software HTML Converter htmlconv12.zip 303,371
Java 2 Runtime Environment 1.3 RC1 j2re1_3_0rc1-win-i.exe 7,677,808

Java 2 Runtime Environmentには英語版と国際化版があります。 日本語環境では国際化版をダウンロードした方が良いでしょう。

j2redown.png

例えば上記ダウンロードページでは US English version of Java 2 Runtime Environment (約5MB)ではなく、
Internationalized version of Java 2 Runtime Environment (約7MB)をダウンロードします。

■Java 3D Runtime for the JREのダウンロード

Java 3D Runtime for the JREのダウンロードについては 下記URLを参照してください。

http://java.sun.com/products/java-media/3D/

筆者がダウンロードしたのは 以下のファイル名とファイルサイズのものです。

名称 ファイル名 サイズ(バイト)
Java 3D Runtime for the JRE java3d1_2beta1-win-opengl-rt.exe 2,172,396

Java 3DにはJava 3D Runtime for the JREと Java 3D Runtime and Examples for the JDKがあります。

j3dredown.png

例えば上記ダウンロードページでは Java 3D Windows Runtime for the JRE をダウンロードしてください。

Java Plug-in 1.2 HTML Converterのインストール

Java Plug-in 1.2 HTML Converterをインストールします。

ここではC:\Program Files\JavaSoft 配下にHTMLConverterというディレクトリーを作り、 このディレクトリーにインストールしてみます。

著者はhtmlconv12.zipをC:\home\yasuyuki\にダウンロードしました。

MS-DOSプロンプトから、以下のコマンドでインストールしました。

C:\WINDOWS>cd "C:\Program Files\JavaSoft"

C:\Program Files\JavaSoft>md HTMLConverter

C:\Program Files\JavaSoft>cd HTMLConverter

C:\Program Files\JavaSoft\HTMLConverter>jar xvf \home\yasuyuki\htmlconv12.zip
      

C:\Program Files\JavaSoft\HTMLConverter配下には以下のようなファイルがインストールされます。

C:\Program Files\JavaSoft\HTMLConverter
 |  converter.props
 |  default.props
 |  HTMLConverter.class
 |  license.txt
 |  readme.txt
 |  Splash.png
 |---META-INF
 |     MANIFEST.MF
 |---sun
 |  +--- plugin
 |     +--- converter
 |        |   ResourceHandler.class
 |        |--- resources
 |        |     Converter.class
 |        |     Converter_ja.class
 |        |--- util
 |        |     AdvancedDialog.class
 |        |     GridBagContainer.class
 |        |     NotFileException.class
 |        |     NoPropFileException.class
 |        |     NotDirectoryException.class
 |        |     PrintManyPlaces.class
 |        |     StdUtils.class
 |        |     FlexFilter.class
 |        |     BasicPrinter.class
 |        |     HelpDialog.class
 |        |     guiUtil.class
 |        |--- engine
 |        |     PluginConverter.class
 |        |     Converter.class
 |        |     ConverterProgressEvent.class
 |        |     ConvertSet.class
 |        |     ConverterProgressListener.class
 |        |     DefaultSet.class
 |        |     ConvertFile.class
 |        |     ParsingState.class
 |        |     AppletPieces.class
 |        +--- gui
 |           |  ConverterGUI.class
 |           |  ConverterGUI$1.class
 |           |  ConverterGUI$2.class
 |           |  ConverterGUI$3.class
 |           |  TemplateFileChoice.class
 |           |  ProgressGUI.class
 |           |  ProgressGUI$1.class
 |           |  ProgressGUI$2.class
 |           +---images
 |                   background.png
 |                   cuckoo.png
 |                   gray.png
 +---templates
      default.tpl
      extend.tpl
      ieonly.tpl
      nsonly.tpl
      

Java Plug-in 1.2 HTML Converterの使い方

Java Plug-in 1.2 HTML Converterを実行するには、Java Plug-in 1.2 HTML Converterのインストールディレクトリーで以下のコマンドを実行してください。

C:\Program Files\JavaSoft\HTMLConverter>java HTMLConverter
      

htmlconv01.png

HTMLファイルを変換してみましょう。
本書第2部で解説するFirstApplet のために作成したHTMLファイルは次のようなものです。

FirstApplet.html
 1 <HTML>
 2 <HEAD>
 3 <TITLE></TITLE>
 4 </HEAD>
 5 <BODY>
 6 <APPLET code="FirstApplet.class"  width="500" height="500" codebase=".">
 7 </APPLET>
 8 </BODY>
 9 </HTML>
      

このHTMLをコピーし、ファイルFirstAppletPlugin.htmlを作成します。

>copy FirstApplet.html FirstAppletPlugin.html
        1 個のファイルをコピーしました.
      

作成したFirstAppletPlugin.html をJava Plug-in HTML Converterで変換してみます。

htmlconv02.png

Java Plug-in HTML Converterで[1つのファイル:] オプションボタンを選択し、[閲覧...]ボタンを押してください。
[Select File]ダイアログが表示されます。

htmlconv03.png

FirstAppletのあるディレクトリーで、 先ほど作成したFirstAppletPlugin.htmlを選択し、 [開く(O)]ボタンを押してください。
Java Plug-in HTML Converterの[1つのファイル:] フィールドにFirstAppletPlugin.htmlのフルパス名が入力されます。

htmlconv04.png

Java Plug-in HTML Converterの[変換...]ボタンを押してください。 [進行中...]ダイアログが表示されます。

htmlconv05.png

変換が終了すると、変換されたファイル数が表示されます。 [完了]ボタンを押してください。

これでHTMLファイルがJava Plug-in対応のものに変換されました。
変換後のHTMLを見てみましょう。

FirstAppletPlugin.html
 1 <HTML>
 2 <HEAD>
 3 <TITLE></TITLE>
 4 </HEAD>
 5 <BODY>
 6 <!--"CONVERTED_APPLET"-->
 7 <!-- CONVERTER VERSION 1.0 -->
 8 <OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
 9 WIDTH = "500" HEIGHT = "500"
   codebase="http://java.sun.com/products/plugin/1.2/jinstall-12-win32.cab#Version=1,2,0,0">
10 <PARAM NAME = CODE VALUE = "FirstApplet.class" >
11 <PARAM NAME = CODEBASE VALUE = "." >
12 
13 <PARAM NAME="type" VALUE="application/x-java-applet;version=1.2">
14 <COMMENT>
15 <EMBED type="application/x-java-applet;version=1.2"
   java_CODE = "FirstApplet.class" java_CODEBASE = "."
   WIDTH = "500" HEIGHT = "500"
   pluginspage="http://java.sun.com/products/plugin/1.2/plugin-install.html">
   <NOEMBED></COMMENT>
16 
17 </NOEMBED></EMBED>
18 </OBJECT>
19 
20 <!--
21 <APPLET  CODE = "FirstApplet.class" CODEBASE = "." WIDTH = "500" HEIGHT = "500" >
22 
23 
24 </APPLET>
25 -->
26 <!--"END_CONVERTED_APPLET"-->
27 
28 </BODY>
29 </HTML>
      

Java 2 Runtime Environment (Java Plug-in)のインストール

j2re1_3_0rc1-win-i.exe をダブルクリックして実行してください。

j2reico.png

Java 2 Runtime Environment 1.3のセットアップが起動します。

j2reunpaq.png

j2resplash.png

j2relicense.png

j2repath.png

Java 2 Runtime Environment 1.3のインストールディレクトリーは デフォルトではC:\Program Files\JavaSoft\JRE\1.3 になっています。

j2recopy.png

ファイルコピーが終るとインストール完了です。

■Java 3D Runtime for the JREのインストール

java3d1_2beta1-win-opengl-rt.exe をダブルクリックして実行してください。

j3d12reico.png

Java 3D Runtime for the JRE 1.2のセットアップが起動します。

j3d12reunpaq.png

j3d12resplash.png

j3d12rewelcome.png

j3d12relicense.png

j3d12reinfo.png

j3d12repath.png

Java 3D Runtime for the JRE 1.2 のデフォルトのインストールディレクトリーは Java 2 Runtime Environmentの特定バージョンのものが指定されます。
そのバージョンのJava 2 Runtime Environmentが インストールされていなくても同様です。

Java 2 Runtime Environment 1.3のインストール先ディレクトリーは C:\Program Files\JavaSoft\JRE\1.3 なので、Java 3Dのインストール先も C:\Program Files\JavaSoft\JRE\1.3 に変更する必要があります。

[Browse..]ボタンを押してください。 [Choose Folder]ダイアログが表示されます。

j3d12resel.png

[Choose Folder]ダイアログでJava 2 Runtime Environmentの インストールディレクトリー (ここではC:\Program Files\JavaSoft\JRE\1.3) を選び、[OK]ボタンを押してください。

j3d12repath2.png

j3d12recopy.png

j3d12refinish.png

これでJava 3D Runtime for the JREのインストールが完了しました。

■Java Plug-inの環境設定

[スタート]-[設定]-[コントロールパネル] を選んでください。

cp.png

[コントロールパネル][Java Plug-in] をダブルクリックしてください。

[Java(TM) Plug-in プロパティ]ダイアログが表示されます。

javaplugincp_base.png

[基本]ページでは[Javaコンソールの表示] をチェックしておいた方が良いでしょう。

[適用]ボタンを押して設定を有効にしておきます。

javaplugincp_detail.png

[詳細]ページの [Java Plug-in Runtime Environment]リストは、 デフォルトでは"Java Plug-inをデフォルトで使用" になっています。

ここでは実際のインストールディレクトリーを指定しておきます。
"C:\Program Files\JavaSoft\JRE\1.3 の JRE 1.3" をえらびます。

[適用]ボタンを押して設定を有効にしておきます。

javaplugincp_proxy.png

[プロキシ][ブラウザの設定を使用] で良いでしょう。

設定を変更したら [適用]ボタンを押して設定を有効にしておきます。

[Java(TM) Plug-in プロパティ]ダイアログは タイトルバーの[×]ボタンを押して終了させてください。

■ブラウザーでの実行

Netscape Communicatorで実行してみます。

nc47plugin.png