openplanning

Hướng dẫn và ví dụ JavaFX TextInputDialog

Xem thêm các chuyên mục:

Nhóm phát triển của chúng tôi vừa ra mắt website langlearning.net học tiếng Anh, Nga, Đức, Pháp, Việt, Trung, Hàn, Nhật, ... miễn phí cho tất cả mọi người.
Là một website được viết trên công nghệ web Flutter vì vậy hỗ trợ rất tốt cho người học, kể cả những người học khó tính nhất.
Hiện tại website đang tiếp tục được cập nhập nội dung cho phong phú và đầy đủ hơn. Mong các bạn nghé thăm và ủng hộ website mới của chúng tôi.
Hãy theo dõi chúng tôi trên Fanpage để nhận được thông báo mỗi khi có bài viết mới. Facebook

1- JavaFX TextInputDialog

TextInputDialog là một lớp con của lớp Dialog, nó được sử dụng để hiển thị và chờ đợi người dùng nhập vào một nội dung văn bản.
Đây là hình ảnh một TextInputDialog tiêu chuẩn:
Nếu bạn không sét đặt Header Text, Title, Content Text, và Text Input mặc định, thì hình ảnh dưới đây là một TextInputDialog mặc định:
** 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);
});
Sử dụng đoạn code sau, nếu bạn không muốn hiển thị vùng Header (Header region):


dialog.setHeaderText(null)

2- Ví dụ 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);
    }

}

Xem thêm các chuyên mục: