JavaFX | Diálogo de entrada de texto

TextInputDialog es parte de la biblioteca JavaFX. TextInputDialog es un cuadro de diálogo que permite al usuario ingresar un texto, y el cuadro de diálogo contiene un texto de encabezado, un TextField y botones de confirmación.

Los constructores de la clase TextInputDialog son:

  1. TextInputDialog() : crea un cuadro de diálogo de entrada de texto sin texto inicial.
  2. TextInputDialog(String txt) : crea un cuadro de diálogo de entrada de texto con el texto inicial txt .

Métodos comúnmente utilizados:

método explicación
obtenerValorPredeterminado() devuelve el valor predeterminado del cuadro de diálogo de entrada de texto
getEditor() devuelve el editor del cuadro de diálogo de entrada de texto
setHeaderText(String s) establece el texto del encabezado del encabezado del cuadro de diálogo de entrada de texto

Los siguientes programas ilustran la clase TextInputDialog:

  1. Programa para crear un TextInputDialog y añadirlo al escenario: Este programa crea un TextInputDialog con un texto inicial y un texto de cabecera. El texto del encabezado se establece mediante la función setHeaderText(). El botón se indica con el nombre d y el cuadro de diálogo de entrada de texto tendrá el nombre td . El botón se creará dentro de una escena, que a su vez se alojará dentro de un escenario. La función setTitle() se utiliza para proporcionar título al escenario. Luego se crea un panel de mosaicos, en el que se llama al método addChildren() para adjuntar el botón dentro de la escena. Finalmente, se llama al método show() para mostrar los resultados finales. El TextInputDialog se mostrará al hacer clic en el botón.

    // 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);
        }
    }

    Producción:

  2. Programa para crear un TextInputDialog y agregar una etiqueta para mostrar el texto ingresado: Este programa crea un TextInputDialog ( td ). El botón indicado con el nombre d y TextInputDialog tendrá el nombre td . El botón se creará dentro de una escena, que a su vez se alojará dentro de un escenario. La función setTitle() se utiliza para proporcionar título al escenario. Luego se crea un panel de mosaicos, en el que se llama al método addChildren() para adjuntar el botón dentro de la escena. Finalmente, se llama al método show() para mostrar los resultados finales. Cuando se haga clic en el botón, se mostrará el cuadro de diálogo de entrada de texto. Se creará una etiqueta llamada l que se agregará a la escena que mostrará el texto que el usuario ingresa en el cuadro de diálogo.

    // 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);
        }
    }

    Producción:

  3. Nota: Es posible que los programas anteriores no se ejecuten en un IDE en línea; utilice un IDE sin conexión.

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

Publicación traducida automáticamente

Artículo escrito por andrew1234 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *