devstory

Le Tutoriel de JavaFX TextInputDialog

  1. JavaFX TextInputDialog
  2. Exemple de TextInputDialog

1. JavaFX TextInputDialog

TextInputDialog est une sous - classe de la classe Dialog. Elle sert à afficher et à attendre le saisissement d'un texte par des utilisateurs.
Ceci est l'image d'un TextInputDialog standard :
Si vous ne réglez pas de Header Text, Title, Content Text, et Text Input par défaut, l'image ci-dessous est un TextInputDialog par défaut :
** Code **
TextInputDialog dialog = new TextInputDialog("Tran");

dialog.setTitle("o7planning");
dialog.setHeaderText("Enter your name:");
dialog.setContentText("Name:");

Optional<String> result = dialog.showAndWait();

result.ifPresent(name -> {
    this.label.setText(name);
});
Utilisez l'extrait de code suivant si vous souhaitez masquer la région d'en-tête (Header region) :
dialog.setHeaderText(null)

2. Exemple de TextInputDialog

TextInputDialogExample.java
package org.o7planning.javafx.textinputdialog;

import java.util.Optional;

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextInputDialog;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

public class TextInputDialogExample extends Application {

    private Label label;

    private void showInputTextDialog() {

        TextInputDialog dialog = new TextInputDialog("Tran");

        dialog.setTitle("o7planning");
        dialog.setHeaderText("Enter your name:");
        dialog.setContentText("Name:");

        Optional<String> result = dialog.showAndWait();

        result.ifPresent(name -> {
            this.label.setText(name);
        });
    }

    @Override
    public void start(Stage stage) {

        VBox root = new VBox();
        root.setPadding(new Insets(10));
        root.setSpacing(10);

        this.label = new Label();

        Button button = new Button("Enter your name");

        button.setOnAction(new EventHandler<ActionEvent>() {

            @Override
            public void handle(ActionEvent event) {
                showInputTextDialog();
            }
        });

        root.getChildren().addAll(button, label);

        Scene scene = new Scene(root, 450, 250);
        stage.setTitle("JavaFX TextInputDialog (o7planning.org)");
        stage.setScene(scene);

        stage.show();

    }

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

}

Tutoriels de JavaFX

Show More