NetBeans 用 JavaFX プラグイン

JavaFX 2.0 ベータの公開にあわせて、NetBeans 用のプラグインも公開されています。

とはいうものの、現状はライブラリの設定をしなくて済む程度のもので、GUI ビルダー的なものは提供されていません。

NetBeans の JavaFX のページ もまったく更新されていないので、今後どうなるのかもイマイチよく分らないのですが...

まぁ、とりあえず使ってみましょう。

プラグインのインストール

現在はプラグインセンターからインストールすることはできません。なので、別途プラグインをダウンロードする必要があります。

ただし、JavaFXSDK やランタイムは必要なく、プラグインだけインストールすれば、JavaFX のアプリケーション開発が可能です。

プラグインは JavaFX.com の ダウンロードページ もしくは OracleJavaFX のダウンロードページ からダウンロードできます。

ダウンロードしたファイルは javafx-2_0-beta-netbeans-windows-i586.zip です。このファイルを展開すると、updates ディレクトリが作成され、nbm ファイルが 4 つと updates.xml ファイルが配置されます。

ここで、NetBeans を起動します。

プラグインをインストールするには、メニューバーの [ツール] - [プラグイン] を洗濯します。

すると、プラグインセンターが表示されるので、上部のタブから [ダウンロード済み] を選びます。

f:id:skrb:20110530163032j:image

[プラグインの追加] ボタンをクリックすると、ファイルチューザが表示されるので、先ほど展開した 4 つの nbm ファイルを選択します。

f:id:skrb:20110530163050j:image

[開く] をクリックすると、プラグインセンターに 4 つのプラグインが列挙されます。

f:id:skrb:20110530163104j:image

これらをチェックして、左下の [インストール] ボタンをクリックします。ライセンスなどの表示があるので、適当に進めればプラグインがインストールできます。NetBeans を再起動後に JavaFX が使えるようになります。

サンプルの実行

では、サンプルを動かしてみましょう。

まず、サンプル用のプロジェクトを作成します。プラグインをインストールすると、プロジェクトのカテゴリに [サンプル] - [JavaFX 2] ができています。

f:id:skrb:20110530165727j:image

その中の Brick Breaker を作ってみましょう。Brick Breaker を選択して [次へ] をクリックします。すると、プロジェクトの場所などを入力する画面に展開します。

これは通常のプロジェクトでも同じですね。

f:id:skrb:20110530165757j:image

適当な場所を入力して、[完了] をクリックします。

Brick Breaker プロジェクトは 10 の Java のソースとイメージファイルから構成されています。

f:id:skrb:20110530165832j:image

では、実行してみましょう。プロジェクト名を右クリックして [実行] を選択します。

Brick Breaker はいわゆるブロック崩しです。こういうゲームで普通にできますよ的なサンプルです。

f:id:skrb:20110530165853j:image

f:id:skrb:20110530165908j:image

JavaFX プロジェクトの作成

サンプルが実行できたので、JavaFX のプロジェクトを作成してみましょう。新規プロジェクトで、カテゴリは [Java]、プロジェクトは [Java FX Application] です。

Java FX と間にスペースが入っているのはご愛敬というべきなのかどうか...

f:id:skrb:20110530165925j:image

先ほどと同じようにプロジェクトの場所などを指定すれば、プロジェクトができます。

f:id:skrb:20110530165944j:image

デフォルトでは次のようなプログラムが生成されます。

package javafxapplication1;

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.paint.Color;
import javafx.stage.Stage;

public class JavaFXApplication1 extends Application {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        Application.launch(JavaFXApplication1.class, args);
    }
    
    @Override
    public void start(Stage primaryStage) {
        primaryStage.setTitle("Hello World");
        Group root = new Group();
        Scene scene = new Scene(root, 300, 250, Color.LIGHTGREEN);
        Button btn = new Button();
        btn.setLayoutX(100);
        btn.setLayoutY(80);
        btn.setText("Hello World");
        btn.setOnAction(new EventHandler<ActionEvent>() {
 
            public void handle(ActionEvent event) {
                System.out.println("Hello World");
            }
        });
        root.getChildren().add(btn);        
        primaryStage.setScene(scene);
        primaryStage.setVisible(true);
    }
}

ボタンが 1 つ表示されて、クリックすると標準出力に Hello World と表示するプログラムです。

f:id:skrb:20110530165958j:image