JavaFX embed to browzer 〜JavaFXをブラウザから起動〜

イントロダクション

JavaFXで作成したアプリケーションをブラウザ(HTML)に埋め込む方法→HTMLで表示したページからJavaFXのアプリケーションを起動できるようにする方法を記載します。参考にしたのはこの記事(StackOverflow)

アプリの準備

JavaFXで動くものを作成します。今回は以前作成したサンプルアプリを使用します。こんなものです。これはOracleのドキュメントに載っていたものです。プログラムの全体はここのリンク先にあります(Zipファイルです、ダウンロードが始まります。)

このプログラムは下の図のように「MarthKitJavaFX」プロジェクトの中にあるXylophone.javaクラスを起動すると上記のようなアニメーションが観れます。

記事にあるように、やってみます。

*.jnplと*.htmlファイルを出力

まずはコンソールを起動します。Windowsの場合はコマンドプロンプトです。

そして、以下のようにコマンドを入力します。

cd プロジェクトまでのパス(自分の場合は「cd ~/git/MathKitJavaFX/MathKitJavaFX)

そして、javapackagerコマンドが使用できるか確認します。

$ javapackager -help

下のように使用方法が表示されるはずです。JDKにパスが通っていれば(javaコマンドが使用できればこれも使用できます。JDK1.8で試しました。)

続いて、以下のようにコマンドを叩きます。ちょっと長いので1行を区切って記載します。赤い字は自分で決める部分です。自分の場合はクラスを次のように配置しているます。「package zenryokuservice.fx.tutorial.download.Xylophone」そして、出力するJarファイルの名前は「myapp」です。

javapackager -createjar -outdir compiled

-outfile myapp -appclass zenryokuservice.fx.tutorial.download.

Xylophone -srcdir bin -v

繋げると下のようになります。叩くときは下のように入力してください。

javapackager -createjar -outdir compiled -outfile myapp -appclass zenryokuservice.fx.tutorial.download.Xylophone -srcdir bin -v

しかし、ここでエラーが出ました。詳細はこちらにてご確認下さい。

結局のところはこのコマンドを使用しなくてもよかったのですが、それは次のコマンドを実行した時にわかりました。自分が実行したものです。

javapackager -deploy -outdir deployed -outfile TestApp -width 600 -height 600 -name Xylophen -appclass zenryokuservice.fx.tutorial.download.Xylophone -v -srcdir compiled

出力したファイルは「TestApp.html」と「TestApp.jnlp」です。こいつを自分のとこのサーバーにアップロードします。

配置先はここからアクセスできます。しかし、現状では動きませんでした。ここからさらに調査を進めます。

でわでわ。。。