TextInputDialog是JavaFX库的一部分。 TextInputDialog是一个对话框,允许用户输入文本,并且该对话框包含标题文本,TextField和确认按钮。
TextInputDialog类的构造方法是:
- TextInputDialog():创建一个没有初始文本的文本输入对话框。
- TextInputDialog(String txt):创建一个带有初始文本txt的文本输入对话框。
常用方法:
方法 | 说明 |
---|---|
getDefaultValue() | 返回文本输入对话框的默认值 |
getEditor() | 返回文本输入对话框的编辑器 |
setHeaderText(String s) | 设置文本输入对话框标题的标题文本 |
以下示例程序旨在说明TextInputDialog类:
- 程序创建一个TextInputDialog并将其添加到舞台:该程序创建一个带有初始文本和标题文本的TextInputDialog。标题文本是使用setHeaderText()函数设置的。按钮由名称d指示,文本输入对话框的名称为td。该按钮将在场景内创建,而场景又将托管在舞台内。函数setTitle()用于为舞台提供标题。然后,创建一个平铺窗格,在其上调用addChildren()方法以将按钮附加到场景内。最后,调用show()方法以显示最终结果。单击按钮将显示TextInputDialog。
// Java Program to create a text input // dialog and add it to the stage import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.layout.*; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.control.*; import javafx.stage.Stage; import javafx.scene.control.Alert.AlertType; import java.time.LocalDate; public class TextInputDialog_1 extends Application { // launch the application public void start(Stage s) { // set title for the stage s.setTitle("creating textInput dialog"); // create a tile pane TilePane r = new TilePane(); // create a text input dialog TextInputDialog td = new TextInputDialog("enter any text"); // setHeaderText td.setHeaderText("enter your name"); // create a button Button d = new Button("click"); // create a event handler EventHandler<ActionEvent> event = new EventHandler<ActionEvent>() { public void handle(ActionEvent e) { // show the text input dialog td.show(); } }; // set on action of event d.setOnAction(event); // add button and label r.getChildren().add(d); // create a scene Scene sc = new Scene(r, 500, 300); // set the scene s.setScene(sc); s.show(); } public static void main(String args[]) { // launch the application launch(args); } }
输出:
- 程序创建一个TextInputDialog并添加一个标签以显示输入的文本:该程序创建一个TextInputDialog(td)。名称为d的按钮和TextInputDialog的名称将为td。该按钮将在场景内创建,而场景又将托管在舞台内。函数setTitle()用于为舞台提供标题。然后,创建一个平铺窗格,在其上调用addChildren()方法以将按钮附加到场景内。最后,调用show()方法以显示最终结果。单击该按钮时,将显示文本输入对话框。将创建一个名为l的标签,该标签将添加到场景中,该场景将显示用户在对话框中输入的文本。
// Java Program to create a text input dialog // and add a label to display the text entered import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.layout.*; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.control.*; import javafx.stage.Stage; import javafx.scene.control.Alert.AlertType; import java.time.LocalDate; public class TextInputDialog_2 extends Application { // launch the application public void start(Stage s) { // set title for the stage s.setTitle("creating textInput dialog"); // create a tile pane TilePane r = new TilePane(); // create a label to show the input in text dialog Label l = new Label("no text input"); // create a text input dialog TextInputDialog td = new TextInputDialog(); // create a button Button d = new Button("click"); // create a event handler EventHandler<ActionEvent> event = new EventHandler<ActionEvent>() { public void handle(ActionEvent e) { // show the text input dialog td.showAndWait(); // set the text of the label l.setText(td.getEditor().getText()); } }; // set on action of event d.setOnAction(event); // add button and label r.getChildren().add(d); r.getChildren().add(l); // create a scene Scene sc = new Scene(r, 500, 300); // set the scene s.setScene(sc); s.show(); } public static void main(String args[]) { // launch the application launch(args); } }
输出:
注意:以上程序可能无法在在线IDE中运行,请使用离线IDE。
参考:https://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/TextInputDialog.html
相关用法
- JavaFX 类 ChoiceBox用法及代码示例
- JavaFX 类 CustomMenuItem用法及代码示例
- JavaFX 类 Tab用法及代码示例
- JavaFX 类 ChoiceDialog用法及代码示例
- JavaFX 类 MenuButton用法及代码示例
- JavaFX 类 Box用法及代码示例
- JavaFX 类 ProgressIndicator用法及代码示例
- JavaFX 类 ProgressBar用法及代码示例
- JavaFX 类 PasswordField用法及代码示例
- JavaFX 类 TextField用法及代码示例
- JavaFX 类 Pos用法及代码示例
- JavaFX 类 Arc用法及代码示例
注:本文由纯净天空筛选整理自andrew1234大神的英文原创作品 JavaFX | TextInputDialog。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。