jV マニュアル & 使用例

Version 4.5.10, 2023年6月12日

「jV」は、木下賢吾(東北大学大学院情報科学研究科)と中村春木(大阪大学蛋白質研究所)により、日本蛋白質構造データバンク(PDBj)の活動の一環として、独立行政法人科学技術振興機構バイオサイエンスデータベースセンター(JST-NBDC)と大阪大学蛋白質研究所の支援を受けて開発されているプログラムです。

英語版オリジナルマニュアルはこちら。 ユーザーガイドはこちら(PDF)。 jVホームページはこちら(英語版日本語版)。

当サイトの内容は、上記リンク先のオリジナルマニュアルやユーザーガイドの内容に、使用実例などを追加してまとめ、翻訳したものです。

11. コマンドラインオプション トップページに戻る 13. ポリゴンファイルについて

12. アプレットを使用するには

12.1. はじめに

アプレット(applet)はウェブページにアプリケーションを埋め込むための仕組みです。アプリケーションはサーバ側で用意しているため、原則としてアプリケーションをインストールする必要はありません。ウェブページにアクセスするだけでアプリケーションを利用できるのです。jVもアプレットとしてウェブページに埋め込むことができるアプリケーションの一つです。

但し、アプレットを埋め込んだページを閲覧するには、ウェブページを閲覧する人(ウェブクライアント、このページを見ているあなた)の環境にあらかじめJava実行環境をインストールしておく必要があります。

jVの動作にはJOGL(Java OpenGL)も必要ですが、現在は必要なファイルもjVと一緒に同梱して配布していますので、かつてのように別途JOGL関係のファイルをダウンロードする必要はありません。

また、ラジオボタンなどにコマンド操作(群)をひもづけておき、ボタンをクリックするだけで一定の操作ができるようなウェブサイトを作ることもできます。

その他、jVアプレットでは以下のようなことができます。

呼び出す際のクラス名は "org.pdbj.viewer.gui.ViewerApplet" です。

12.2. サーバへのjV配置

jVアプレットを用いたページを提供するには、ウェブサーバにjVを配置しておく必要がありますが、その手順はスタンドアロン版の場合と同じです。

以下に具体例を示します。

ウェブサーバのOS
Linux系(CentOS)
ウェブサイトのドキュメントルートパス
/var/www/html
ウェブサイトのルートURL
http://www.sample.org/
jVバイナリのルートパス
/var/www/html/jv
jVのバージョン
4.4.4
# ドキュメントルートに移動
[root@server ~]# cd /var/www/html
# ここにjVバイナリを置いて解凍展開
[root@server html]# tar -zxvf jV_4_4_4.tar.gz
jV_4_4_4/jv4_4_4.jar
jV_4_4_4/jv4_4_4_signed.jar
jV_4_4_4/jV_manual.html
...
jV_4_4_4/startup_macosx.command
jV_4_4_4/startup_windows.bat
jV_4_4_4/startup_windows_amd64.bat
# (任意)このままではjVを更新する度にパスが変わってしまうので、名称固定のシンボリックリンクを作っておく
[root@server html]# mkdir jv
[root@server html]# ln -s jV_4_4_4 jv
# またはディレクトリ名を変更する
[root@server html]# mv jV_4_4_4 jv

12.3. 記述コードの種類について

アプレットを埋め込むためのHTMLコードは以下の通り3種類ありますが、HTML規格に沿ったobject要素を使って記述することを推奨します[1][2][3]。詳しくはJava プラグインホームページもご参照下さい。

要素名 備考
applet 様々なブラウザに対応しており記述は容易ですが、HTML4では非推奨とされています。
object applet の代替として推奨されているタグですが、applet タグに比べて記述が複雑です。
embed Mozilla系ブラウザで有効ですが、W3Cの規格外のタグです。

後述する具体的コード記述方法もobject要素を使った方法でご紹介します。

12.4. 書式とパラメータ

アプレットを表示するためのhtmlコードはページを閲覧するウェブクライアントの環境(OSやブラウザの種類)によって異なります。以下に指定するパラメータと合わせて説明します。アプレットを表示するためのhtmlコード例は各環境での動作状況ページをご覧下さい。

12.4.1. アプレットコードの基本部分

<!-- applet コードで記述した場合(HTML4で非推奨) -->
<applet code="クラス名"
        archive="jarファイル"
        width="アプレットの横幅"
        height="アプレットの高さ">
  オプションパラメータ
</applet>
<!-- object コードで記述した場合(HTML4ではこちらを推奨) -->
<object code="java:クラス名"
        type="application/x-java-applet"
        codetype="application/java"
        archive="jarファイル"
        width="アプレットの横幅"
        height="アプレットの高さ">
  オプションパラメータ
</object>
applet要素 の code="クラス名" 属性
object要素 の classid="java:クラス名" 属性
旧型(Classic)Java Plug-inを使用する環境の場合「org.jdesktop.applet.util.JNLPAppletLauncher」、新型(Next Generation)Java Plug-inを使用する環境の場合「org.pdbj.viewer.gui.ViewerApplet」を指定します。JRE 1.5以前の環境(Mac OS X 10.4以前はJRE 1.6以降が提供されていないため必然的に該当)等では旧型で、それ以外の環境では新型のhtmlコードでアプレットが表示できます。
object の type="application/x-java-applet"
object の codetype="application/java"
object要素で記述する場合にのみ必要な属性です。
archive="jarファイル"
jVアプレット表示に必要となるjV本体、JOGL、アプレットランチャーのjarファイルを指定します。指定するファイルの詳細は以下の通りです。ファイルの指定は完全なURL(同一ウェブサーバ内のファイルを参照する場合、http://www.sample.org のようなプロトコル名+完全修飾ドメイン名は省略可能)で行い、複数の指定はコンマで区切ります。サーバへのjV配置で示した事例の場合、指定値は以下のようになります。
archive="/jv/jv4_2_signed.jar,
        /jv/applet-launcher.jar,
        /jv/gluegen-rt.jar,
        /jv/lib/jogl.all.jar"
各指定値について以下に説明します。
jV本体
画像保存などのウェブクライアント側に変更を加える機能を利用できるようにするには、Java拡張機能を有効にする必要があります。Java拡張機能を利用するには署名されたjarファイル(jv4_2_signed.jar)を指定する必要があります。非署名版(jv4_2.jar)を指定すると、Java拡張機能が利用できなくなります。この事例の場合、指定値は /jv/jv4_2_signed.jar または /jv/jv4_2.jar となります
アプレットランチャー関係
アプレットランチャーを利用して環境に応じたJOGLを自動ダウンロードする機能も組み込む場合、applet-launcher.jargluegen-rt.jar の場所を示すURLも指定します。ウェブサーバ内のURLでも配布元のURLでも構いません。配布元のURLについてはアプレットランチャーについてを参照下さい。 この事例のようにあらかじめウェブサーバ内の /var/www/html/jv にダウンロードしてそちらを利用する場合、指定する値は以下のようになります。
  • /jv/pplet-launcher.jar
  • /jv/gluegen-rt.jar
JOGL
jV4.0以前とjV4.1以降では指定するファイル名が異なります。jV4.0以前では jogl.jar、jV4.1以降ではjogl.all.jar を指定します。この事例では /jv/lib/jogl.all.jarを指定することになります。
アプレットの横幅
アプレット領域の横幅を指定します。整数値で指定した場合はピクセル単位での絶対指定、数値の後に"%"を記した場合は親要素の横幅に対する相対指定となります。
アプレットの高さ
アプレット領域の高さを指定します。整数値で指定した場合はピクセル単位での絶対指定、数値の後に"%"を記した場合は親要素の高さに対する相対指定となります。
オプションパラメータ
追加で様々な指定を加えることができます。詳細は次項を参照下さい。

12.4.2. オプションパラメータ

param要素を使って追加の指定を行うことができます。項目指定はname属性で行い、対応する値はvalue属性に指定します。指定できる項目は以下の通りです。
name属性値 既定値 内容
mmcifURL (なし) 読み込むmmCIFファイルのURLを指定します。ファイルはコンマで区切って複数個指定することができます[注1][注2]。jVコマンドのload mmcifに相当する動作を行います。

例:<param name="mmcifURL" value="http://pdbj.org/mmcif/all/1smd.cif.gz"/>

pdbmlURL (なし) 読み込むPDBMLファイルのURLを指定します。ファイルはコンマで区切って複数個指定することができます[注1][注2]。jVコマンドのload pdbmlに相当する動作を行います。

例:<param name="pdbmlURL" value="http://pdbj.org/XML/all/1smd.xml.gz"/>

pdbURL (なし) 読み込むPDBファイルのURLを指定します。ファイルはコンマで区切って複数個指定することができます[注1][注2]。jVコマンドのload pdbに相当する動作を行います。

例:<param name="pdbURL" value="http://pdbj.org/pdb_all/pdb1smd.ent.gz"/>

polygonURL (なし) 読み込むポリゴンファイルのURLを指定します。ファイルはコンマで区切って複数個指定することができます[注1][注2]。jVコマンドのload polygonに相当する動作を行います。

例:<param name="polygonURL" value="http://pdbj.org/biol/rdchb/a1/1a14/1a141-rdchb_0002.xml"/>

animURL (なし) 読み込むアニメーションファイルのURLを指定します。ファイルはコンマで区切って複数個指定することができます[注2]
command_area false コマンドラインインタフェースを利用するかどうか(true に設定するとアプレット領域下方にコマンドエリアが表示され、false なら表示されない)。但し、後述の「newt」を有効にする設定を行った場合、当項目の設定値に関わらずコマンドラインインタフェースを利用することはできません(コマンドエリアを表示することはできません)。

例:<param name="command_area" value="true"/>

file_control false ファイルコントロールパネルを使用するかどうか(true に設定するとアプレット領域右部に操作対象ファイルの選択メニューが表示され、false なら表示されない)。
popup_menu true 右クリックするによるポップアップメニューの利用を許可するかどうか(true なら利用可能、false なら右クリックしてもポップアップメニューは表示されない)。
mouse_send_to (なし) マウスイベントによるアプレットの名前属性が共有されます (コンマで区切って複数指定できます)。
commands (なし) アプレットを開始して最初に実行するコマンド (セミコロンで区切って複数指定できます)。
report_picking false マウスでクリックした原子に関する情報をJavaScriptに送るかどうか(true または false で指定)。
picking_receiver (なし) マウスクリックで指定するデータのJavaScript関数名。
file_load_message false ファイル読み込み中にメッセージダイアログを表示するかどうか(true に設定すれば表示され、false に設定すれば表示されない)。
call_on_start false アプレット開始時にJavaScript関数を呼び出すかどうか(true または false で指定)。
noddraw.check WindowsでDirectDrowを使わないようにするための設定。trueなら使わない、falseなら使う。
codebase_lookup
jnlpNumExtensions
jnlpExtension1
java_arguments
progressbar ロード中にプログレスバーを表示するかどうかの設定。trueなら表示する、falseなら表示しない。
subapplet.classname
subapplet.displayname
noddraw.check.silent
newt false 最近のMac環境(OS 10.5以降)ではnewt機能をONにしないとappletを表示することができません。newt機能をONにすればappletは表示されるようになりますが、コマンドエリアを表示することができないという制約があります。newt機能をONにするにはvalue属性値に「true」を指定します。ユーザの環境を判別して動的にnewtをONにするには、CGI等でユーザエージェント情報を判別するか、またはhtmlコード内に以下のようなJavaScriptコードを記述します。
if(navigator.userAgent.indexOf("Mac") != -1 ){
  document.write('<param name="newt" value="true"/>');
}
jnlp_href

  1. ファイルはgzip圧縮されたものでも扱えます。
  2. URLは「http://」で始まるもののみ有効です。「ftp://」などはエラーになり「Can't Find PDBML File.」警告ダイアログが表示されます。

12.4.3. アプレットランチャーを使用したコード例

コードの前部は一般的なアプレットランチャーの指定とほぼ同じです。詳しくはアプレットランチャーのウェブサイトをご覧下さい。後方ではjVのパラメータ指定を行っています。コードの記述方法はウェブクライアントのJava環境(Java Runtime Environment)のバージョン等によって異なります。詳しくは下記事例をご覧下さい。下記各例はいずれも必要な各ファイルが html ファイル(あるいはhtmlコードを出力するcgi)と同一ディレクトリにある場合の事例です。必要なファイルが別の場所にある場合は適宜パス指定を追加して記述して下さい。

注:

  • JREのバージョンによってアプレットランチャーがうまく動作しない場合があります。詳しくはトラブルシューティングをご覧下さい。
  • 各環境での動作する条件やコードをこちらに掲載しています。合わせてご覧下さい。

ウェブクライアントの環境により適用するhtmlコードを変えるには、cgi等を使いウェブサーバ側で制御する方法と、JavaScriptを用いてウェブクライアント側で制御する方法があります。以下に各コードで記述する事例を示します。

Classic Java Plug-in環境(Mac OS X 10.4以前等JRE 1.5以前の環境)用 - applet要素による記述
<applet name="jVwindow"
        height="600" width="600"
        archive="applet-launcher.jar, jogl.jar, gluegen-rt.jar, jv3.jar"
        code="org.jdesktop.applet.util.JNLPAppletLauncher">
  <-- height:アプレットの高さ、width:アプレットの幅
      archive:追加ファイルのURL
      code:アプレットランチャーを指定する固有コード -->
  <param name="subapplet.classname" value="org.pdbj.viewer.gui.ViewerApplet"/> <!-- jVアプレットのクラス名指定 -->
  <param name="subapplet.displayname" value="jV applet"/>
  <param name="noddraw.check" value="true"/> <!-- WindowsでDirectDrowを使わないための設定 -->
  <param name="noddraw.check.silent" value="true"/> <!-- WindowsでDirectDrowを使わないための設定 -->
  <param name="progressbar" value="true"/> <!-- ロード中にプログレスバーを表示する -->
  <param name="jnlpNumExtensions" value="1"/>
  <param name="jnlpExtension1" value="jogl.jnlp"/>
  <param name="pdbURL" value=""/>
  <param name="pdbmlURL" value="http://service.pdbj.org/XML/viewer/148l-noatom.xml.gz">
  <param name="polygonURL" value=""/>
  <param name="commands" value="set picking ident;background black;wireframe off;cartoon;color group"/>
</applet>
  
Classic Java Plug-in環境(Mac OS X 10.4以前等JRE 1.5以前の環境)用 - object要素による記述
<object name="jVwindow"
        height="600" width="600"
        classid="java:org.jdesktop.applet.util.JNLPAppletLauncher"
        type="application/x-java-applet"
        codetype="application/java"
        archive="applet-launcher.jar, jogl.jar, gluegen-rt.jar, jv3.jar">
  <-- height:アプレットの高さ、width:アプレットの幅
      classid:アプレットランチャーを指定する固有コード
      type,codetype:オブジェクトの種類の示す
      archive:追加ファイルのURL -->
  <param name="subapplet.classname" value="org.pdbj.viewer.gui.ViewerApplet"/> <!-- jVアプレットのクラス名指定 -->
  <param name="subapplet.displayname" value="jV applet"/>
  <param name="noddraw.check" value="true"/> <!-- WindowsでDirectDrowを使わないための設定 -->
  <param name="noddraw.check.silent" value="true"/> <!-- WindowsでDirectDrowを使わないための設定 -->
  <param name="progressbar" value="true"/> <!-- ロード中にプログレスバーを表示する -->
  <param name="jnlpNumExtensions" value="1"/>
  <param name="jnlpExtension1" value="jogl.jnlp"/>
  <param name="pdbURL" value=""/>
  <param name="pdbmlURL" value="http://service.pdbj.org/XML/viewer/148l-noatom.xml.gz">
  <param name="polygonURL" value=""/>
  <param name="commands" value="set picking ident;background black;wireframe off;cartoon;color group"/>
</object>
  
New Java Plug-in 非Mac環境(JRE 1.6以降の非Mac環境)用 - applet要素による記述
<applet name="jVwindow"
        height="600" width="600"
        code="org.pdbj.viewer.gui.ViewerApplet">
  <-- height:アプレットの高さ、width:アプレットの幅
      code:jVを指定する固有コード -->
  <param name="jnlp_href" value="http://pdbj.org/jv/jv-applet.jnlp"/> <!-- new Java Plug-in に必要 -->
  <param name="noddraw.check" value="true"/> <!-- WindowsでDirectDrowを使わないための設定 -->
  <param name="noddraw.check.silent" value="true"/> <!-- WindowsでDirectDrowを使わないための設定 -->
  <param name="progressbar" value="true"/> <!-- ロード中にプログレスバーを表示する -->
  <param name="jnlpNumExtensions" value="1"/>
  <param name="jnlpExtension1" value="jogl.jnlp"/>
  <param name="pdbURL" value=""/>
  <param name="pdbmlURL" value="http://service.pdbj.org/XML/viewer/148l-noatom.xml.gz">
  <param name="polygonURL" value=""/>
  <param name="commands" value="set picking ident;background black;wireframe off;cartoon;color group"/>
</applet>
  
New Java Plug-in 非Mac環境(JRE 1.6以降の非Mac環境)用 - object要素による記述(Internet Explorerの場合)
<object name="jVwindow"
        height="600" width="600"
        classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
        data="java:org.pdbj.viewer.gui.ViewerApplet">
  <-- height:アプレットの高さ、width:アプレットの幅
      classid:Java Plug-inであることを示すコード
      code:jVを指定する固有コード -->
  <param name="jnlp_href" value="http://pdbj.org/jv/jv-applet.jnlp"/> <!-- new Java Plug-in に必要 -->
  <param name="noddraw.check" value="true"/> <!-- WindowsでDirectDrowを使わないための設定 -->
  <param name="noddraw.check.silent" value="true"/> <!-- WindowsでDirectDrowを使わないための設定 -->
  <param name="progressbar" value="true"/> <!-- ロード中にプログレスバーを表示する -->
  <param name="jnlpNumExtensions" value="1"/>
  <param name="jnlpExtension1" value="jogl.jnlp"/>
  <param name="pdbURL" value=""/>
  <param name="pdbmlURL" value="http://service.pdbj.org/XML/viewer/148l-noatom.xml.gz">
  <param name="polygonURL" value=""/>
  <param name="commands" value="set picking ident;background black;wireframe off;cartoon;color group"/>
</object>
  
New Java Plug-in 非Mac環境(JRE 1.6以降の非Mac環境)用 - object要素による記述(Internet Explorer以外)
<object name="jVwindow"
        height="600" width="600"
        classid="org.pdbj.viewer.gui.ViewerApplet"
  <-- height:アプレットの高さ、width:アプレットの幅
      classid:Java Plug-inであることを示すコード
      code:jVを指定する固有コード -->
  <param name="jnlp_href" value="http://pdbj.org/jv/jv-applet.jnlp"/> <!-- new Java Plug-in に必要 -->
  <param name="noddraw.check" value="true"/> <!-- WindowsでDirectDrowを使わないための設定 -->
  <param name="noddraw.check.silent" value="true"/> <!-- WindowsでDirectDrowを使わないための設定 -->
  <param name="progressbar" value="true"/> <!-- ロード中にプログレスバーを表示する -->
  <param name="jnlpNumExtensions" value="1"/>
  <param name="jnlpExtension1" value="jogl.jnlp"/>
  <param name="pdbURL" value=""/>
  <param name="pdbmlURL" value="http://service.pdbj.org/XML/viewer/148l-noatom.xml.gz">
  <param name="polygonURL" value=""/>
  <param name="commands" value="set picking ident;background black;wireframe off;cartoon;color group"/>
</object>
  
New Java Plug-in Mac環境(Mac OS X 10.5 Update 7以降のJRE 1.6以降のMac環境)用 - applet要素による記述
<applet name="jVwindow"
        height="600" width="600"
        code="org.pdbj.viewer.gui.ViewerApplet">
  <-- height:アプレットの高さ、width:アプレットの幅
      code:jVを指定する固有コード -->
  <param name="jnlp_href" value="http://pdbj.org/jv/jv-applet.jnlp"/> <!-- new Java Plug-in に必要 -->
  <param name="noddraw.check" value="true"/> <!-- WindowsでDirectDrowを使わないための設定 -->
  <param name="noddraw.check.silent" value="true"/> <!-- WindowsでDirectDrowを使わないための設定 -->
  <param name="progressbar" value="true"/> <!-- ロード中にプログレスバーを表示する -->
  <param name="jnlpNumExtensions" value="1"/>
  <param name="jnlpExtension1" value="jogl.jnlp"/>
  <param name="newt" value="true"/> <!-- 非Mac用との違いはこの1行が追加されているのみ -->
  <param name="pdbURL" value=""/>
  <param name="pdbmlURL" value="http://service.pdbj.org/XML/viewer/148l-noatom.xml.gz">
  <param name="polygonURL" value=""/>
  <param name="commands" value="set picking ident;background black;wireframe off;cartoon;color group"/>
</applet>
  
New Java Plug-in Mac環境(Mac OS X 10.5 Update 7以降のJRE 1.6以降のMac環境)用 - object要素による記述(Internet Explorer以外)
<object name="jVwindow"
        height="600" width="600"
        classid="org.pdbj.viewer.gui.ViewerApplet"
  <-- height:アプレットの高さ、width:アプレットの幅
      classid:Java Plug-inであることを示すコード
      code:jVを指定する固有コード -->
  <param name="jnlp_href" value="http://pdbj.org/jv/jv-applet.jnlp"/> <!-- new Java Plug-in に必要 -->
  <param name="noddraw.check" value="true"/> <!-- WindowsでDirectDrowを使わないための設定 -->
  <param name="noddraw.check.silent" value="true"/> <!-- WindowsでDirectDrowを使わないための設定 -->
  <param name="progressbar" value="true"/> <!-- ロード中にプログレスバーを表示する -->
  <param name="jnlpNumExtensions" value="1"/>
  <param name="jnlpExtension1" value="jogl.jnlp"/>
  <param name="newt" value="true"/> <!-- 非Mac用との違いはこの1行が追加されているのみ -->
  <param name="pdbURL" value=""/>
  <param name="pdbmlURL" value="http://service.pdbj.org/XML/viewer/148l-noatom.xml.gz">
  <param name="polygonURL" value=""/>
  <param name="commands" value="set picking ident;background black;wireframe off;cartoon;color group"/>
</object>
  
JavaScript
実装したウェブページ例:例30
<object name="jVwindow"
        height="600" width="600"
        classid="org.pdbj.viewer.gui.ViewerApplet"
  <-- height:アプレットの高さ、width:アプレットの幅
      classid:Java Plug-inであることを示すコード
      code:jVを指定する固有コード -->
  <param name="jnlp_href" value="http://pdbj.org/jv/jv-applet.jnlp"/> <!-- new Java Plug-in に必要 -->
  <param name="noddraw.check" value="true"/> <!-- WindowsでDirectDrowを使わないための設定 -->
  <param name="noddraw.check.silent" value="true"/> <!-- WindowsでDirectDrowを使わないための設定 -->
  <param name="progressbar" value="true"/> <!-- ロード中にプログレスバーを表示する -->
  <param name="jnlpNumExtensions" value="1"/>
  <param name="jnlpExtension1" value="jogl.jnlp"/>
  <param name="newt" value="true"/> <!-- 非Mac用との違いはこの1行が追加されているのみ -->
  <param name="pdbURL" value=""/>
  <param name="pdbmlURL" value="http://service.pdbj.org/XML/viewer/148l-noatom.xml.gz">
  <param name="polygonURL" value=""/>
  <param name="commands" value="set picking ident;background black;wireframe off;cartoon;color group"/>
</object>
  

12.5. JavaScriptからアプレットへの通信

閲覧アプレットクラスには、JavaScript と呼ばれる一般的な方法が利用できます。

void executeCommand(String commands)

この方法で、アプレットは任意のコマンドを受け取ることができます(セミコロンで区切って複数指定できます)。

void loadPDB(String fileLocation)
void loadPDBML(String fileLocation)
void loadPolygon(String fileLocation)
void loadAnim(String fileLocation)

この方法で、指定したPDBファイル、PDBMLファイル、ポリゴンファイル、アニメーションファイルがそれぞれ読み込まれます。

void loadPDB(String fileLocation, int fitTo)
void loadPDBML(String fileLocation, int fitTo)
void loadPolygon(String fileLocation, int fitTo)
void loadAnim(String fileLocation, int fitTo)

この方法で、読み込んだファイルの変化マトリックスを指定したファイルの変化マトリックスにセットします。

12.6. アプレットからJavaScriptへの通信

マウスクリックの結果をJavaScriptに送るには、以下の関数をJavaScript側で定義しておく必要があります。

function receiveMousePick(file, model, chain, res, atom, altloc, resName, atomName, x, y, z)

なお、この関数名の既定値は「receiveMousePick」ですが、APPLET、OBJECT、EMBEDタグで「picking_receiver」の値を指定して変更することができます。

アプレットパラメータ「call_on_start」で然るべき設定がされていれば、アプレットが開始された時、以下のJavaScript関数が呼び出されます。この時、関数は指定された引数をアプレット名として受け取ります。

function jvOnStart(name)

更に、'MAYSCRIPT'という新しい属性がアプレット、またはOBJECT/EMBEDタグに必要です (詳しくはJavaプラグインガイドを参照して下さい)。

12.7. Linux環境におけるアプレットの表示

Linux環境下でjV Javaアプレットを表示できるようにする方法について以下に説明します。いずれの場合も、閲覧するウェブクライアントコンピュータにSun (Oracle) Java環境がインストールされている必要があります。

1. Sun(Oracle)のJava環境(JRE)をダウンロードする
「Linux自己解凍バイナリファイル」をJavaダウンロードページからダウンロードします。JavaとしてOpenJDKが既にインストールされている場合もありますが、その場合SunのJavaもインストールします(OpenJDKと共存していても構わない)。32bit版OSの場合は「Linux(自己解凍ファイル)」、64bit版OSの場合は「Linux x64」をダウンロードします。RHEL、CentOSではRPM版を選択しても構いません。なお「JavaアプレットとJava Web Startを使用する場合は、32ビットバージョンを使用してください。」とダウンロードページに記載されていますが、64bit版でも動作します。
2. インストール先ディレクトリに移動してインストール実行
2a. 非RPM版の場合
インストールしたいディレクトリに移動して、ダウンロードしたバイナリを実行します[5]。以下の例は~/downloadへダウンロードした自己解凍バイナリファイルを使って、/usr/lib/jvmへインストールする場合です。なお、RPM版を使う場合は2bをご覧下さい。
[Ubuntu 10.04 LTSの場合]
32bit版OSの場合は「Linux(自己解凍ファイル)」、64bit版OSの場合は「Linux x64」をダウンロード
$ ls ~/downloads
-rw-r--r-- 1 user user 21630577 2011-08-25 14:23 jre-7u15-linux-i586.tar.gz
# 64bit版の場合、ファイル名は「jre-7u15-linux-x64.tar.gz」のようになります
$ cd /usr/lib/jvm# インストール先に移動(/usr/lib/jvm配下にインストールする場合)
$ sudo tar -zxvf ~/downloads/jre-7u15-linux-i586.tar.gz # 展開
$ which java
/usr/bin/java
$ ls -l /usr/bin/java
lrwxrwxrwx 1 root root 22  8月 25  2011 /usr/bin/java -> /etc/alternatives/java
$ ls -l /etc/alternatives/java
lrwxrwxrwx 1 root root 33  1月  6  2012 /etc/alternatives/java -> /usr/lib/jvm/jre1.6.0_30/bin/java
$ sudo ln -sf /usr/lib/jvm/jre1.7.0_15/bin/java /etc/alternatives/java
$ ls -l /etc/alternatives/java
lrwxrwxrwx 1 root root 33  1月  6  2012 /etc/alternatives/java -> /usr/lib/jvm/jre1.7.0_15/bin/java
2b. RPM版の場合
Fedora系(RHEL、CentOS等)の場合、RPM版を使ってもインストールできます。なおオンラインドキュメントの記述ではカレントディレクトリにインストールされるとありますが[6]、実際には常に/usr/java配下にインストールされるようです。ブラウザからRPMをダウンロードし、そのままGUIでインストールを実行しても結構です(管理者権限が必要)。非RPM版バイナリを使ったインストールについては2aをご覧下さい。
CentOS 6.0 に JRE 1.6.0_27をインストールする場合
32bit版OSの場合は「Linux RPM(自己解凍ファイル)」、64bit版OSの場合は「Linux x64 RPM」をダウンロード
$ pwd
/home/user/downloads
$ ls -l
合計 20588
-rw-r--r-- 1 user user 21080279 8月 29 10:33 2011 jre-6u27-linux-i586-rpm.bin
# 64bit版の場合、ファイル名は「jre-6u27-linux-amd64-rpm.bin」のようになります
$ 
$ chmod +x jre-6u27-linux-i586-rpm.bin # 実行権限付加
$ cd /usr/lib/jvm
$ ./jre-6u27-linux-i586-rpm.bin # 実行→rpmパッケージができる
Unpacking...
Extracting...
UnZipSFX 5.50 of 17 February 2002, by Info-ZIP (ZIP-Bugs@lists.wku.edu).
  inflating: jre-6u27-linux-i586.rpm
準備中...                 ########################################### [100%]
   1:jre                    ########################################### [100%]
Unpacking JAR files...
        rt.jar...
        jsse.jar...
        charsets.jar...
        localedata.jar...
        plugin.jar...
        javaws.jar...
        deploy.jar...

Done.
$ ls -l /usr/lib/jvm # ここにインストールしたJREはない
合計 20840
drwxr-xr-x. 3 root root     4096 7月 14 17:24 2011 java-1.5.0-gcj-1.5.0.0
drwxr-xr-x. 3 root root     4096 6月 25 11:31 2011 java-1.6.0-openjdk-1.6.0.0
lrwxrwxrwx. 1 root root       21 8月 25 16:28 2011 jre -> /etc/alternatives/jre
lrwxrwxrwx. 1 root root       27 7月 14 17:24 2011 jre-1.5.0 -> /etc/alternatives/jre_1.5.0
lrwxrwxrwx. 1 root root       26 7月 14 17:24 2011 jre-1.5.0-gcj -> java-1.5.0-gcj-1.5.0.0/jre
lrwxrwxrwx. 1 root root       27 8月 25 16:28 2011 jre-1.6.0 -> /etc/alternatives/jre_1.6.0
lrwxrwxrwx. 1 root root       26 8月 25 16:28 2011 jre-1.6.0-openjdk -> java-1.6.0-openjdk-1.6.0.0/jre
-rw-r--r--. 1 root root 21331915 7月 19 20:07 2011 jre-6u27-linux-i586.rpm
lrwxrwxrwx. 1 root root       25 7月 14 17:24 2011 jre-gcj -> /etc/alternatives/jre_gcj
lrwxrwxrwx. 1 root root       29 8月 25 16:28 2011 jre-openjdk -> /etc/alternatives/jre_openjdk
$ ls -l /usr/java # JREはここにインストールされた
合計 4
lrwxrwxrwx. 1 root root   16 8月 29 10:51 2011 default -> /usr/java/latest
drwxrwxrwx. 1 root root 4096 8月 29 10:50 2011 jre1.6.0_27
lrwxrwxrwx. 1 root root   16 8月 29 10:51 2011 latest -> /usr/java/jre1.6.0_27
3. ブラウザ別のプラグイン設定
Firefox 1. javaコマンドへのパスを通す
javaコマンドへのパスを通します(あるいはパスの通っているディレクトリにjavaコマンドのシンボリックリンクを作成します)。先に別のJava(OpenJDKなど)がインストールされていた場合、そちらがjavaコマンドとして認識され、ここでインストールしたSunのJavaが適用されない場合があります。設定方法の詳細は以下の例をご覧下さい。
[Ubuntu 10.04 LTS で OpenJDKが既にインストールされていた場合]
# javaコマンドはOpenJDKの方を指している
$ java -version
java version "1.6.0_20"
OpenJDK Runtime Environment (IcedTea6 1.9.9) (6b20-1.9.9-0ubuntu1~10.04.2)
OpenJDK Client VM (build 19.0-b09, mixed mode, sharing)
$ which java
/usr/bin/java
$ ls -l /usr/bin/java
lrwxrwxrwx. 1 root root 22  8月 22 17:26 2011 /usr/bin/java -> /etc/alternatives/java
$ ls -l /etc/alternatives/java
lrwxrwxrwx. 1 root root 35  8月 22 17:26 2011 /etc/alternatives/java -> /usr/lib/jvm/jre-1.5.0-gcj/bin/java
$ ls /usr/lib/jvm
合計 4
lrwxrwxrwx 1 root root   14 2011-08-25 13:44 java-1.6.0-openjdk -> java-6-openjdk
drwxr-xr-x 5 root root 4096 2011-08-25 13:44 java-6-openjdk
# javaコマンドのシンボリックリンク元を変更
$ sudo ln -sf /usr/lib/jvm/jre1.6.0_27/bin/java /etc/alternatives/java
# RPMで椅子トールした場合は以下のようになる
$ sudo ln -sf /usr/java/jre1.6.0_27/bin/java /etc/alternatives/java
$ ls -l /etc/alternatives/java
lrwxrwxrwx. 1 root root 33  8月 22 17:34 2011 /etc/alternatives/java -> /usr/lib/jvm/jre1.6.0_27/bin/java
# Sub Javaに変更された
$ java -version
java version "1.6.0_27"
Java(TM) SE Runtime Environment (build 1.6.0_27-b07)
Java HotSpot(TM) Client VM (build 20.1-b06, mixed mode, sharing)

# 64bit版の場合、以下のようになります
$ java -version
java version "1.6.0_27"
Java(TM) SE Runtime Environment (build 1.6.0_27-b07)
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b06, mixed mode)

[CentOS 6.0の場合]
$ java -version # javaコマンドはまだOpenJDKのものを指している
java version "1.6.0_17"
OpenJDK Runtime Environment (IcedTea6 1.7.5) (rhel-1.31.b17.el6_0-i386)
OpenJDK Client VM (build 14.0-b16, mixed mode)
$ which java
/usr/bin/java
$ ls -l /usr/bin/java
lrwxrwxrwx. 1 root root 22  8月 25 16:28 2011 /usr/bin/java -> /etc/alternatives/java
$ ln -sf /usr/java/latest/bin/java /usr/bin/java  # javaコマンドのリンク元をSun Javaのものに置き換え
$ ls -l /usr/bin/java
lrwxrwxrwx. 1 root root 25  8月 29 11:12 2011 /usr/bin/java -> /usr/java/latest/bin/java
$ java -version
java version "1.6.0_27"
Java(TM) SE Runtime Environment (build 1.6.0_27-b07)
Java HotSpot(TM) Client VM (build 20.2-b06, mixed mode, sharing)
Firefox 2. Firefoxプラグインフォルダにプラグインファイルのシンボリックリンクを作成
Firefox 3.6では/usr/lib/firefox-3.6/pluginsがプラグインを置く場所となっていたようだが、Firefox 10.0.4 (ESR) では /usr/lib/mozilla/plugins(64bit版では/usr/lib64/mozilla/plugins?)に置けば動作した。
# CentOS 6.0 32bit版 + Firefox 3.6 で /usr/java にSun Javaをインストールした場合
# mkdir /usr/lib/firefox-3.6/plugins # 初期状態ではこのディレクトリは存在しなかったので作る
# sudo ln -s /usr/java/jre1.6.0_27/lib/i386/libnpjp2.so /usr/lib/firefox-3.6/plugins

# CentOS 6.0 32bit版 + Firefox 3.6 で /usr/lib/jvm にSun Javaをインストールした場合
# mkdir /usr/lib/firefox-3.6/plugins # 初期状態ではこのディレクトリは存在しなかったので作る
# sudo ln -s /usr/lib/jvm/jre1.6.0_27/lib/i386/libnpjp2.so /usr/lib/firefox-3.6/plugins

# Ubuntu 10.04 LTS 32bit版 + Firefox 3.6 で /usr/lib/jvm にSun Javaをインストールした場合
$ sudo ln -s /usr/lib/jvm/jre1.6.0_27/lib/i386/libnpjp2.so /usr/lib/firefox-addons/plugins
/usr/lib/firefox-3.6.20/plugins は /usr/lib/firefox-addons/pluginsのシンボリックリンクになっている

# Ubuntu 10.04 LTS 64bit版 + Firefox 3.6 で /usr/lib/jvm にSun Javaをインストールした場合
$ sudo ln -s /usr/lib/jvm/jre1.6.0_27/lib/amd64/libnpjp2.so /usr/lib/firefox-addons/plugins
# RHEL 5.7 64bit版 + Firefox 10.0.4 (ESR) で /usr/java にSun Javaをインストールした場合
$ sudo ln -s /usr/java/jre1.7.0_04/lib/amd64/libnpjp2.so /usr/lib64/mozilla/plugins
Opera. プラグインを検索できるようにする
下記いずれかの方法で、プラグインが検索できるようにする。
Opera A. 既存のプラグイン検索対象ディレクトリにプラグインファイルを配置する
Opera 11.60にてデフォルトで設定されているプラグインパスの1つ /usr/lib/opera/plugins に Java Plug-in ライブラリ /usr/lib/jvm/jre1.6.0_30/lib/i386/libnpjp2.so のシンボリックリンクを作る場合。
# ln -s /usr/lib/jvm/jre1.6.0_30/lib/i386/libnpjp2.so /usr/lib/opera/plugins/libnpjp2.so
Opera B. プラグイン検索対象ディレクトリにプラグインファイルがあるディレクトリを追加する
既にFirefoxのプラグインが /usr/lib/firefox-addons/plugins/libnpjp2.so に設置済みであり、これを検出できるようにする場合。
Opera B-1. 設定ウインドウを開く
Opera 11.60 の場合、メニューの[設定(S)]-[設定…(P)](Ctrl+F12)をクリック。
Opera 11.60 - 設定ウインドウを開く
Opera B-2. プラグインウインドウを開きプラグイン検索対象パスを追加
詳細設定タブの[コンテンツ]を選択し[プラグインオプション…]ボタンをクリックして[プラグイン]ウインドウを開く。 次に、[パスの変更…]ボタンをクリックして[プラグインのパス]ウインドウが開く
Opera 11.60 - 設定ウインドウ(プラグインウインドウを開く) Opera 11.60 - プラグインウインドウ(パス追加)
[追加…]ボタンをクリックし、プラグインがあるディレクトリ(/usr/lib/firefox-addons/plugins/libnpjp2.so)を追加。
Opera 11.60 - プラグインのパスウインドウ(パス追加前) Opera 11.60 - プラグインのパスウインドウ(パス追加後)
追加された。
Opera 11.60 - プラグインウインドウ(パス追加後)
Google Chromeの場合

mozilla ブラウザプラグインフォルダ /usr/lib/mozilla/plugins に Java プラグインファイル(シンボリックリンクで可)を置きます。Firefox のプラグインが置かれる /usr/lib/firefox-addons/plugins に置いても認識しません。Sun Java が /usr/lib/jvm/jre1.6.0_30 にインストールされている場合、以下のコマンドで設定することができます。

# ln -s /usr/lib/jvm/jre1.6.0_30/lib/i386/libnpjp2.so /usr/lib/mozilla/plugins/libnpjp2.so

12.8. 参考文献・サイト

  1. Using APPLET, OBJECT and EMBED TagsJava Plugin Guideより
  2. HTML/XHTMLリファレンス…reflux flow
  3. HTML 4.01 Specification…W3C Recommendation
  4. Linux コンピュータ用の Java をダウンロードしてインストールするにはどうすればよいですか?
  5. Linux (自己解凍) ファイルをインストールするには
  6. Linux RPM (自己解凍) ファイルをインストールするには
  7. Linux 上の Opera に Plug-in をインストールする方法
  8. Ubuntu日本語フォーラム / 10.04でChromium用にJava Runtimeをインストールしたい

11. コマンドラインオプション トップページに戻る 13. ポリゴンファイルについて

Valid XHTML 1.1