Android勉強会

Androidの学習日記

JavaFXでHello world!

JavaFXHello world!を表示してみます。

 

 

JavaFXのプロジェクト作成

IntelliJ IDEAで、JavaFXのプロジェクトを作成します。

 

f:id:jsstudy:20170506123933p:plain

 

プロジェクト名を「helloworld」にします。

 

f:id:jsstudy:20170506123946p:plain

 

[Finish]ボタンをクリックすると、自動的にJavaFXのプロジェクトが作成されました。

 

f:id:jsstudy:20170506125005p:plain

 

「Main.java」のタブをクリックして、コードを見てみます。

 

f:id:jsstudy:20170506125046p:plain

 

最初から、以下のようなコードがありました。(サンプルコード)

 

package sample;

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;

public class Main extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception{
        Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));
        primaryStage.setTitle("Hello World");
        primaryStage.setScene(new Scene(root, 300, 275));
        primaryStage.show();
    }


    public static void main(String[] args) {
        launch(args);
    }
}

 

とりあえず、このコードをビルドして、実行してみます。

 

JavaFXのビルド

メニューの「Run」から、「Run 'Main'」をクリックします。

 

f:id:jsstudy:20170506125308p:plain

 

ちょっと待つと、以下のようなサンプルアプリが表示されました。

 

f:id:jsstudy:20170506125419p:plain

 

タイトルのところに「Hello World」と表示されているシンプルなサンプルアプリです。

 

ラベルの追加

少しコードを改変して、タイトルの他に、ラベルでテキストを表示してみます。

 

(参考) 

qiita.com

 

import javafx.scene.control.Label;
import javafx.scene.text.Font;

 

stage.setWidth(540);
stage.setHeight(220);
Label lblMsg = new Label("Hello, JavaFX");
lblMsg.setFont(new Font(80));
stage.setScene(new Scene(lblMsg));

 

この辺りがサンプルコードと違っていたので、これを組み込んでみます。

 

f:id:jsstudy:20170506131136p:plain

 

package sample;

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Label; // Label
import javafx.scene.text.Font; // Font
import javafx.stage.Stage;

public class Main extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception{
        Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));
        primaryStage.setTitle("Hello World");
        primaryStage.setWidth(540); // width
        primaryStage.setHeight(220); // height

        Label lblMsg = new Label("Hello, JavaFX");
        lblMsg.setFont(new Font(80));
        primaryStage.setScene(new Scene(lblMsg));

        primaryStage.show();
    }


    public static void main(String[] args) {
        launch(args);
    }
}

 

これを実行すると、以下のようなアプリが表示されました。

 

f:id:jsstudy:20170506131320p:plain

 

以上で、JavaFXHello world!でした!

 

ビルドとコンパイルの違い

qiita.com

 

ビルドの中にコンパイルがある。

 

コンパイル

コンピュータが実行するのに適した形式に変えて、実行可能なファイルに変換する。

 

ビルド:

コンパイル+使っているライブラリに関連づける(リンク)

 

JavaFXの参考情報

掌田津耶乃さんの入門講座がありました。

初心者のためのJavaFXプログラミング入門

 

こちらに一通り目を通しておけば、JavaFXの基本的な仕組みが理解できると思います。

 

 

JavaFX & Java8プログラミング―Javaによる新しいGUIプログラミング入門

JavaFX & Java8プログラミング―Javaによる新しいGUIプログラミング入門

 

 

ゲーム作りで学ぶJavaFX & Java 8プログラミング―楽しみながら最新のJavaをマスター

ゲーム作りで学ぶJavaFX & Java 8プログラミング―楽しみながら最新のJavaをマスター