JavaFX 名前を入力してボタンを押すと表示されるアプリケーション
JavaFXの演習問題
JavaFXで、名前を入力してボタンを押すと、「こんにちは"名前"さん」と表示されるアプリケーションを作りました。これは、JavaFXの本の演習問題です。
GUIの部分はScene Builderを使った方が楽になると思いますが、JavaFXの基礎を学んでから導入したいと思います。残念ながら、この本
JavaFX & Java8プログラミング―Javaによる新しいGUIプログラミング入門
には載ってないみたいです。
コード
package application; import javafx.application.Application; import javafx.geometry.Insets; import javafx.geometry.Pos; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.Label; import javafx.scene.control.TextField; import javafx.scene.layout.VBox; import javafx.stage.Stage; public class Ex2_1 extends Application{ @Override public void start(Stage stage) throws Exception{ // 画面の設定 stage.setTitle("Name"); stage.setWidth(300); stage.setHeight(200); // 入力可能なテキストボックス TextField textField = new TextField(); textField.setText("名前を入力してください"); // 入力された名前を反映させるラベル Label label = new Label(); label.setPrefWidth(250); label.setPrefHeight(60); // テキストフィールドの内容を反映させるボタン Button btn = new Button("ボタン"); btn.setPrefWidth(60); btn.setPrefHeight(30); btn.setOnAction(event -> label.setText("こんにちは、" + textField.getText() + "さん")); // テキストフィールド、ラベル、ボタンを垂直に配置 VBox root = new VBox(); root.setAlignment(Pos.TOP_CENTER); root.setPadding(new Insets(5, 5, 5, 5)); root.setSpacing(5.0); root.getChildren().addAll(textField, label, btn); stage.setScene(new Scene(root)); stage.show(); } public static void main(String[] args) { launch(args); } }