当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


JavaFX 类 TextInputDialog用法及代码示例


TextInputDialog是JavaFX库的一部分。 TextInputDialog是一个对话框,允许用户输入文本,并且该对话框包含标题文本,TextField和确认按钮。

TextInputDialog类的构造方法是:

  1. TextInputDialog():创建一个没有初始文本的文本输入对话框。
  2. TextInputDialog(String txt):创建一个带有初始文本txt的文本输入对话框。

常用方法:


方法 说明
getDefaultValue() 返回文本输入对话框的默认值
getEditor() 返回文本输入对话框的编辑器
setHeaderText(String s) 设置文本输入对话框标题的标题文本

以下示例程序旨在说明TextInputDialog类:

  1. 程序创建一个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); 
        } 
    }

    输出:

  2. 程序创建一个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); 
        } 
    }

    输出:

  3. 注意:以上程序可能无法在在线IDE中运行,请使用离线IDE。

    参考:https://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/TextInputDialog.html



相关用法


注:本文由纯净天空筛选整理自andrew1234大神的英文原创作品 JavaFX | TextInputDialog。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。