📅  最后修改于: 2023-12-03 15:16:03.486000             🧑  作者: Mango
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的文本输入对话框是一种方便简单的用户输入方式,通过简单的几行代码即可实现。在实际开发中,我们可以结合其他控件以及逻辑实现更加丰富的功能。