📜  JavaFX |文本输入对话框(1)

📅  最后修改于: 2023-12-03 15:16:03.486000             🧑  作者: Mango

JavaFX |文本输入对话框

JavaFX是一个用于构建富客户端、跨平台GUI应用程序的框架。文本输入对话框是JavaFX提供的一种常见的用户输入方式之一,能够简化用户输入的过程。

使用场景

在某些情况下,我们需要用户输入一些数据或信息,如登录界面中要求输入用户名和密码。此时,文本输入对话框可以很好地满足这一需求。

使用方法

使用文本输入对话框的方法非常简单。首先,我们需要创建一个TextInputDialog对象,如下所示:

TextInputDialog dialog = new TextInputDialog("default");

其中,字符串"default"将作为默认文本框的默认值。接下来,我们可以设置窗口的标题和内容文本:

dialog.setTitle("输入对话框");
dialog.setContentText("请输入文字:");

然后,我们可以展示窗口并等待用户输入:

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

此时,程序会一直等待,直到用户输入完成并选择确定或取消。如果用户选择确定,则result会包含用户输入的值,否则result为空。

最后,我们可以获取用户输入的值并进行处理:

result.ifPresent(value -> {
    System.out.println("用户输入的值是:" + value);
});
示例代码

以下是一个简单的JavaFX文本输入对话框示例程序:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Alert;
import javafx.scene.control.Button;
import javafx.scene.control.TextInputDialog;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

import java.util.Optional;

public class TextInputDialogDemo extends Application {
    @Override
    public void start(Stage stage) throws Exception {
        Button button = new Button("展示输入对话框");
        VBox vbox = new VBox();
        vbox.getChildren().add(button);

        Scene scene = new Scene(vbox, 300, 200);
        stage.setTitle("JavaFX TextInputDialog");
        stage.setScene(scene);
        stage.show();

        button.setOnAction(event -> {
            TextInputDialog dialog = new TextInputDialog("default");
            dialog.setTitle("输入对话框");
            dialog.setContentText("请输入文字:");

            Optional<String> result = dialog.showAndWait();
            result.ifPresent(value -> {
                Alert alert = new Alert(Alert.AlertType.INFORMATION);
                alert.setTitle("提示");
                alert.setHeaderText(null);
                alert.setContentText("用户输入的值是:" + value);
                alert.showAndWait();
            });
        });
    }

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

运行程序,点击按钮即可展示文本输入对话框并输入文字。程序将在输入完成后显示输入的值。

总结

JavaFX的文本输入对话框是一种方便简单的用户输入方式,通过简单的几行代码即可实现。在实际开发中,我们可以结合其他控件以及逻辑实现更加丰富的功能。