http://naokirintechnews.hatenablog.com/entry/2012/04/15/124103 {{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 { private Scene scene; private VBox vbox; 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() { @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("アプリケーションを終了します..."); } } }} {{category2 プログラミング言語,JavaFX}}