Java8とJavaFXを試す

【JavaFXでのアプリケーション作成(備忘録)その1】

Java8とJavaFXでアプリケーションを作ってみよう

新しくアプリケーションを開発するに当たり、Java8とJavaFXの使用感を試してみたいと思いやってみる。

使用する環境はMacBook Pro(OS X Ver.10.8.3 CPU 2.2GHz Intel Core i7 メモリ8GB 1333MHz DDR3)

まずは、Java8 JDKのダウンロード。

ダウンロードはjdk8.java.netからできます。

続いてIDEですがNetBeans IDEがJava8に対応しているという事でこちらから開発版をダウンロードしました。

これらをインストールして早速Java FX FXMLアプリケーションのプロジェクトを新規作成して実行してみました。私がダウンロードした際のJDK最新版はJDK8 Early Access Releasesの8 Build b82でしたがこのバージョンを使ってJavaFX FXML アプリケーションをコンパイル、実行しようとすると以下のようなエラーになり実行できませんでした。

Launching <fx:jar> task from /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/lib/ant-javafx.jar
/Users/labrador-kuro/NetBeansProjects/JavaFXApplication3/nbproject/jfx-impl.xml:1436: The following error occurred while executing this line:
/Users/labrador-kuro/NetBeansProjects/JavaFXApplication3/nbproject/jfx-impl.xml:2668: The following error occurred while executing this line:
/Users/labrador-kuro/NetBeansProjects/JavaFXApplication3/nbproject/jfx-impl.xml:1576:
javax.script.ScriptException: ReferenceError: “org” is not defined in <eval> at line number 178
at jdk.nashorn.api.scripting.NashornScriptEngine.throwAsScriptException(NashornScriptEngine.java:424)
at jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:408)
at jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:379)
at jdk.nashorn.api.scripting.NashornScriptEngine.eval(NashornScriptEngine.java:134)
at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:264)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:487)

途中省略
… 54 more
BUILD FAILED (total time: 6 seconds)

ネット検索してみると同じ内容でレポートが上がっていてどうやらb81とb82はだめなようなのでb80をダウンロードしてみるとこちらのビルドでは動作することがわかりました。

JDKをインストールし直して実行して見ると画面が表示されました。スクリーンショット 2013-04-01 16.46.57
この画面にはメニューバーが付いていますが、これはIDEで生成されたFXMLをJavaFX Scene Builderを使って編集したものです。
JavaFX Scene Builderを使うと画面の構成を簡単に編集できるようです。
スクリーンショット 2013-04-01 17.16.19

各コントロールのアクションに対応した動作はコードを書く必要があります。

@FXML
private void handleMenuItemAction1(ActionEvent event) {
System.exit(0);
}

こんな感じでハンドラを書いておくとScene BuilderのOn Actionに選択リストとして表示されるようになります。

選択してビルドしてみるとちゃんと動作しました。

これでちょっとアプリケーションを作成してみたいと思います。

 

 

 

This entry was posted in Java, JavaFX, プログラミング and tagged , . Bookmark the permalink.

Comments are closed.