トップ 一覧 置換 検索 ヘルプ RSS ログイン

JavaFXの簡単なサンプルの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!!環境
*JavaFX SDKをダウンロードしてきて解凍。
*bin ディレクトリにパスを通す
http://naokirintechnews.hatenablog.com/entry/2012/04/15/124103

!!!HelloWorld
  import javafx.stage.Stage;
  import javafx.scene.Scene;
  import javafx.scene.control.Label;
  import javafx.scene.text.Font;
{{code Java,
import javafx.application.Application;
import javafx.application.Platform;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.control.TextField;
import javafx.scene.layout.VBox;
import javafx.scene.control.TextArea;
import javafx.scene.control.Button;
import javafx.scene.layout.HBox;

public class JavaFXMemo extends Application {
  
  var textFont : Font = Font { size : 24 };
  var label : Label = Label { text : "Hello,World!!!" , font : textFont }
  // var label2 : Label = Label { text : "テストだよ" , font : textFont }
  private Scene scene;
  private VBox vbox;
  
  Stage {
      title : "GUIてすと"
      scene : Scene {
           width: 200
           height: 100
           content: label
           // content: [label ,label2]
      }
  private TextArea textArea;
  private TextField commandField;
  private Button commandButton;
  private HBox commandArea;
  
  public static void main(String[] args){
    Application.launch(JavaFXMemo.class, args);
  }
  
  @Override
  public void start(Stage stage) {
    // シーングラフとルートオブジェクトの生成
    vbox = new VBox();
    scene = new Scene(vbox);
    
    // テキストエリア、テキストフィールド、ボタンの設定
    textArea = new TextArea();
    commandField = new TextField();
    commandButton = new Button("Command");
    commandArea = new HBox();
    
    // テキストエリアとコマンドフィールドの大きさをSceneの大きさに合わせて変更するようにする
    textArea.minHeightProperty().bind(scene.heightProperty().subtract(commandArea.heightProperty()));
    commandField.minWidthProperty().bind(scene.widthProperty().subtract(commandButton.widthProperty()));
    
    // それぞれのオブジェクトを追加
    commandArea.getChildren().addAll(commandField, commandButton);
    vbox.getChildren().addAll(textArea, commandArea);
    
    // コマンドの実行
    commandButton.setOnAction(new EventHandler<ActionEvent>() {
        @Override
        public void handle(ActionEvent actionEvent) {
          if (commandField.getText().equals("quit"))
            Platform.exit();
        }
    });
    
    // Stageの設定
    stage.setScene(scene);
    stage.setTitle("JavaFXMemo");
    stage.setWidth(1024); stage.setHeight(700);
    stage.show();
  }
  
  @Override
  public void stop(){
    System.out.println("アプリケーションを終了します...");
  }
}

を HelloWorld.fx で保存して
コンパイル
 javafxc HelloWorld.fx
実行
 java HelloWorld

最初の実行時に JavaFXの実行の確認がされる。このときホームディレクトリに
 .javafx_eula_accepted
っというファイルが作成される。


}}

{{category2 プログラミング言語,JavaFX}}