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 :
- TextField() : crea un nuevo TextField con contenido de texto vacío
- 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:
- 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 :
- 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 :
- 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 :
- 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 :
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