top / index / prev / next / target / source
日記形式でつづる いがぴょんコラム ウェブページです。
Java7u7 以降であれば、Java/jre/lib 以下の「jfxrt.jar」を参照ライブラリーに追加するだけで、以下の JavaFX 2 プログラムをコンパイルすることができます。(実行時には特に設定などは必要ありません)
package sample;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
/**
* 最低レベルの JavaFX 2 サンプル
*/
public class Sample001 extends Application {
@Override
public void start(final Stage primaryStage) {
final StackPane root = new StackPane();
root.getChildren().add(
new Label("こんにちは、JavaFX 2 世界!\nHello JavaFX 2 World!"));
final Scene scene = new Scene(root, 200, 150);
primaryStage.setTitle("こんにちは、世界!");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(final String[] args) {
launch(args);
}
}
[f:id:igapyon:20120918162219p:image]
JAR ファイルを生成するために、以下の Ant スクリプトを利用します。
<?xml version="1.0" encoding="UTF-8"?>
<project name="Sample" default="build" basedir=".">
<property name="encoding" value="Windows-31J" />
<target name="jar">
<delete file="Sample001.jar" />
<jar destfile="Sample001.jar">
<zipfileset dir="bin" includes="**/*" />
<zipfileset dir="src" includes="**/*" prefix="src" />
</jar>
</target>
<target name="compile">
<delete dir="bin" />
<mkdir dir="bin" />
<javac destdir="bin" debug="true" source="1.7" target="1.7" fork="true" encoding="${encoding}">
<src path="src/" />
<classpath>
<fileset dir="C:/Program Files (x86)/Java/jre7/lib/" includes="jfxrt.jar" />
</classpath>
<include name="**/*.java" />
</javac>
</target>
<target name="build" depends="compile,jar">
</target>
</project>
JavaFX アプリケーションを JNLP で駆動するには、以下のような JNLP ファイルを準備してこれを実行します。
<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0" xmlns:jfx="http://javafx.com" href="Sample001.jnlp">
<information>
<title>Sample001</title>
<vendor>Toshiki Iga</vendor>
<description>Sample JavaFX 2 application.</description>
<offline-allowed />
</information>
<resources>
<jfx:javafx-runtime version="2.2+" href="http://javadl.sun.com/webapps/download/GetFile/javafx-latest/windows-i586/javafx2.jnlp" />
</resources>
<resources>
<j2se version="1.7+" href="http://java.sun.com/products/autodl/j2se" />
<jar href="Sample001.jar" download="eager" />
</resources>
<jfx:javafx-desc width="200" height="150" main-class="sample.Sample001" name="Sample001" />
<update check="background" />
</jnlp>