AquaFXがいい感じ

この投稿はJavaFXアドベントカレンダーの22日目の記事です。

JavaFXのライブラリで最近いいなと思ったのがAquaFXというライブラリ。 コンポーネント追加とかではなくて見た目をMac風にしてくれるライブラリです。

使い方

build.gradleに依存関係追加

compile 'com.aquafx-project:aquafx:0.1'

AquaFx#style()をApplication#start(Stage)あたりで呼び出せばとりあえず動きます。

コンポーネントの見た目を変える

AquaFxではButtonやLabelなどのコンポーネントにも複数のデザインが用意されています。 形などを変えたい場合はAquaFx#create○○Styler()からメソッドチェーンで値を設定して、styleメソッドに反映させたいコンポーネントを与えれば変更できます。

サンプルとして以下のコードを実行してみました。

@Override
public void start(Stage primaryStage) {
    AquaFx.style();
 
    VBox box = new VBox();
    //Buttons
    Arrays.stream(ButtonType.values()).forEach(type -> {
        Button button = new Button(type.getStyleName());
        AquaFx.createButtonStyler().setType(type).style(button);
        box.getChildren().add(button);
    });
 
    box.getChildren().add(new Separator());
    //TextFields
    Arrays.stream(TextFieldType.values()).forEach(type -> {
        TextField field = new TextField();
        AquaFx.createTextFieldStyler().setType(type).style(field);
        box.getChildren().add(field);
    });
 
    Scene scene = new Scene(box);
    primaryStage.setScene(scene);
    primaryStage.show();
}

実行結果 スクリーンショット 2015-12-21 0.28.33

AquaFx以外にもWindows風のAeroFx、今風なフラットデザインのflatterがあるみたいです。 結構手軽に使えてかっこいい見た目にできるのでおすすめです。 こういった見た目系ライブラリが今後も増えるといいなー。

明日は@s_kozakeさんです。