JavaFX | Campo de texto

La clase TextField es parte del paquete JavaFX. Es un componente que permite al usuario ingresar una línea de texto sin formato, no permite la entrada de varias líneas, solo permite que el usuario ingrese una sola línea de texto. El texto se puede utilizar según los requisitos.

Constructor de la clase TextField :

  1. TextField() : crea un nuevo TextField con contenido de texto vacío
  2. TextField(String s) : crea un nuevo TextField con un texto inicial.

Métodos comúnmente utilizados :

método explicación
setPrefColumnCount(int v) Establece el valor de la propiedad prefColumnCount.
setOnAction(valor del manejador de eventos) Establece el valor de la propiedad onAction.
setAlignment(Pos v) Establece el valor de la alineación de la propiedad.
prefColumnCountProperty() El número preferido de columnas de texto.
onActionProperty() El controlador de acciones asociado con este campo de texto, o nulo si no se asigna ningún controlador de acciones.
getPrefColumnCount() Obtiene el valor de la propiedad prefColumnCount.
getOnAction() Obtiene el valor de la propiedad onAction.
obtenerAlineación() Obtiene el valor de la alineación de la propiedad.
obtenerPersonajes() Devuelve la secuencia de caracteres que respalda el contenido del campo de texto.

Los siguientes programas ilustran el uso del campo de texto:

  1. Programa Java para crear un TextField y agregarlo al escenario : Este programa crea un TextField indicado por el nombre b. El TextField se creará dentro de una escena, que a su vez se alojará dentro de un escenario (que es el contenedor JavaFX de nivel superior). La función setTitle() se utiliza para proporcionar título al escenario. Luego se crea un panel de título, en el que se llama al método addChildren() para adjuntar el TextField dentro de la escena, junto con la resolución especificada por (200, 200) en el código. Finalmente, se llama al método show() para mostrar los resultados finales.

    // Java program to create a textfield and add it to stage
    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.control.*;
    import javafx.scene.layout.StackPane;
    import javafx.stage.Stage;
    public class Textfield extends Application {
      
        // launch the application
        public void start(Stage s)
        {
            // set title for the stage
            s.setTitle("creating TextField");
      
            // create a textfield
            TextField b = new TextField();
      
            // create a stack pane
            StackPane r = new StackPane();
      
            // add textfield
            r.getChildren().add(b);
      
            // create a scene
            Scene sc = new Scene(r, 200, 200);
      
            // set the scene
            s.setScene(sc);
      
            s.show();
        }
      
        public static void main(String args[])
        {
            // launch the application
            launch(args);
        }
    }

    Salida :

  2. Programa Java para crear un TextField con un texto inicial y agregar un manejador de eventos : Este programa crea un TextField indicado por el nombre b. Crearemos una etiqueta que mostrará el texto cuando se presione la tecla Intro. Crearemos un controlador de eventos que manejará el evento del campo de texto y el controlador de eventos se agregará al campo de texto utilizando el método setOnAction(). El TextField se creará dentro de una escena, que a su vez se alojará dentro de un escenario (que es el contenedor JavaFX de nivel superior). La función setTitle() se utiliza para proporcionar título al escenario. Luego se crea un panel de título, en el que se llama al método addChildren() para adjuntar el TextField y una etiqueta dentro de la escena, junto con la resolución especificada por (200, 200) en el código. Finalmente, se llama al método show() para mostrar los resultados finales.

    // Java program to create a textfield and add a
    // event handler to handle the event of textfield
    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.control.*;
    import javafx.scene.layout.*;
    import javafx.event.ActionEvent;
    import javafx.event.EventHandler;
    import javafx.scene.control.Label;
    import javafx.stage.Stage;
    public class Textfield_1 extends Application {
      
        // launch the application
        public void start(Stage s)
        {
            // set title for the stage
            s.setTitle("creating textfield");
      
            // create a textfield
            TextField b = new TextField("initial text");
      
            // create a tile pane
            TilePane r = new TilePane();
      
            // create a label
            Label l = new Label("no text");
      
            // action event
            EventHandler<ActionEvent> event = new EventHandler<ActionEvent>() {
                public void handle(ActionEvent e)
                {
                    l.setText(b.getText());
                }
            };
      
            // when enter is pressed
            b.setOnAction(event);
      
            // add textfield
            r.getChildren().add(b);
            r.getChildren().add(l);
      
            // create a scene
            Scene sc = new Scene(r, 200, 200);
      
            // set the scene
            s.setScene(sc);
      
            s.show();
        }
      
        public static void main(String args[])
        {
            // launch the application
            launch(args);
        }
    }

    Salida :

  3. Programa Java para crear un campo de texto con un texto inicial y agregar un controlador de eventos: Este programa crea un TextField indicado por el nombre b. Estableceremos un texto inicial invocando su constructor con una string y también estableceremos el recuento de columnas preferido utilizando el método setPrefColumnCount(). Crearemos una etiqueta que mostrará el Texto cuando se presione la tecla Intro. Crearemos un controlador de eventos que manejará el evento del campo de texto y el controlador de eventos se agregará al campo de texto usando el método setOnAction(). El TextField se creará dentro de una escena, que a su vez se alojará dentro de un escenario (que es el contenedor JavaFX de nivel superior). La función setTitle() se usa para dar título al escenario. Luego se crea un panel de título, en el que se llama al método addChildren() para adjuntar el TextField y una etiqueta dentro de la escena, junto con la resolución especificada por (200, 200) en el código. Finalmente,

    // Java program to create a textfield with a initial text
    // and preferred column count and add a event handler to
    // handle the event of textfield
    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.control.*;
    import javafx.scene.layout.*;
    import javafx.event.ActionEvent;
    import javafx.event.EventHandler;
    import javafx.scene.control.Label;
    import javafx.stage.Stage;
    public class TextField_2 extends Application {
      
        // launch the application
        public void start(Stage s)
        {
            // set title for the stage
            s.setTitle("creating textfield");
      
            // create a textfield
            TextField b = new TextField("initial text");
      
            // set preffered column count
            b.setPrefColumnCount(7);
      
            // create a tile pane
            TilePane r = new TilePane();
      
            // create a label
            Label l = new Label("no text");
      
            // action event
            EventHandler<ActionEvent> event = new EventHandler<ActionEvent>() {
                public void handle(ActionEvent e)
                {
                    l.setText(b.getText());
                }
            };
      
            // when enter is pressed
            b.setOnAction(event);
      
            // add textfield
            r.getChildren().add(b);
            r.getChildren().add(l);
      
            // create a scene
            Scene sc = new Scene(r, 200, 200);
      
            // set the scene
            s.setScene(sc);
      
            s.show();
        }
      
        public static void main(String args[])
        {
            // launch the application
            launch(args);
        }
    }

    Salida :

  4. Programa Java para crear un TextField con un texto inicial y una alineación central del texto y agregar un controlador de eventos: Este programa crea un TextField indicado por el nombre b. Estableceremos un texto inicial invocando su constructor con una string y también estableceremos la alineación usando el método setAlignment(). Crearemos una etiqueta que mostrará el Texto cuando se presione la tecla Intro. se presiona. Crearemos un controlador de eventos que manejará el evento del campo de texto y el controlador de eventos se agregará al campo de texto usando el método setOnAction(). El TextField se creará dentro de una escena, que a su vez se alojará dentro de un escenario (que es el contenedor JavaFX de nivel superior). La función setTitle() se usa para dar título al escenario. Luego se crea un panel de título, en el que se llama al método addChildren() para adjuntar el TextField y una etiqueta dentro de la escena, junto con la resolución especificada por (200, 200) en el código. Finalmente,

    // Java program to create a textfield with a initial text and center alignment of text
    // and add a event handler to handle the event of textfield
    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.control.*;
    import javafx.scene.layout.*;
    import javafx.event.ActionEvent;
    import javafx.event.EventHandler;
    import javafx.scene.control.Label;
    import javafx.stage.Stage;
    import javafx.geometry.*;
    public class TextField_4 extends Application {
      
        // launch the application
        public void start(Stage s)
        {
            // set title for the stage
            s.setTitle("creating textfield");
      
            // create a textfield
            TextField b = new TextField("initial text");
      
            // set alignment of text
            b.setAlignment(Pos.CENTER);
      
            // create a tile pane
            TilePane r = new TilePane();
      
            // create a label
            Label l = new Label("no text");
      
            // action event
            EventHandler<ActionEvent> event = new EventHandler<ActionEvent>() {
                public void handle(ActionEvent e)
                {
                    l.setText(b.getText());
                }
            };
      
            // when enter is pressed
            b.setOnAction(event);
      
            // add textfield
            r.getChildren().add(b);
            r.getChildren().add(l);
      
            // create a scene
            Scene sc = new Scene(r, 200, 200);
      
            // set the scene
            s.setScene(sc);
      
            s.show();
        }
      
        public static void main(String args[])
        {
            // launch the application
            launch(args);
        }
    }

    Salida :

  5. Nota: Es posible que los programas anteriores no se ejecuten en un IDE en línea; use un compilador fuera de línea.

    Referencia : https://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/TextField.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 *