Como usar JTextField en Java (Campos de texto)

Java

Los campos de texto (JTextField) son componentes gráficos muy importantes en la construcción de interfaces para cualquier tipo de aplicación en Java, nos permite suministrarle al usuario un espacio donde colocar datos, para luego realizar diversas actividades con dichos datos ingresados, en este artículo veremos como usar JTextField en Java, haciendo uso de NetBeans como entorno de desarrollo integrado (IDE).

Como usar JTextField en Java

como usar JTextField en Java

Primero que todo debemos definir las funcionalidades principales de un JTextField en Java y estas son:

  • Obtener datos: Posibilidad para que el usuario escriba un valor solicitado.
  • Mostrar datos: Posibilidad de mostrar al usuario un valor.

Estas son las dos funciones principales para lo cual hacemos uso de los JTextfield, cuando hablamos de obtener datos, hacemos referencia a usar los datos que el usuario ingresa en el campo de texto para realizar algún procesamiento, cálculos, etc. Cuando hablamos de mostrar datos hacemos referencia a asignarle un valor al campo de texto para informar al usuario, ejemplo cuando tenemos el valor de una factura, este puede ser mostrado en un campo de texto para que el usuario sepa su valor.

¿Como crear JTextField en Java?

Si estamos haciendo uso de un IDE como NetBeans, solo debemos arrastrar el componente JTextField o Campo de texto al Jframe o JDialog que estemos diseñando, por otro lado si estamos trabajando sin IDE podemos crear el componente de la siguiente forma:

private javax.swing.JTextField Campo1;
Campo1 = new javax.swing.JTextField();

¿Como obtener valores de un JTextField en Java?

Como citamos anteriormente, una de las funciones primordiales de este componente es capturar datos que el usuario ingresa, esto lo hacemos por medio de variables.

String valor = Campo1.getText();

En el código anterior tendremos en la variable “valor“, el valor lo ingresado por el usuario, hay que tener en cuenta que todo lo que escribimos en un JTextField es tratado como texto, así sea que estemos ingresando números, serán tratados como texto.

¿Como usar números en los JTextField?

Para el uso de números debemos capturar los valores igual como hicimos anteriormente con un String, luego debemos convertir ese valor al formato correspondiente, veamos:

 String valor = Campo1.getText();
 int valor_entero = Integer.parseInt(valor);
 double valor_double = Double.parseDouble(valor);
 float valor_float = Float.parseFloat(valor);

En el código anterior vemos como podemos convertir un valor recibido de un JTextField a int, double y float, ya con el valor convertido podemos hacer operaciones matemáticas.

¿Como validar cuando un JTextField esta vacío?

Esta es una necesidad muy común en la programación de interfaces, evitar que el usuario deje campos vacíos, esto se puede hacer de varias maneras, una podemos validar las variables que capturan los valores de las JTextField o bien podemos validar directamente las JTextField, veamos ambas formas.

Validando una variable que obtiene el valor de un JTextField
String valor = Campo1.getText();
 if (valor.equals("")) {
 System.out.println("El campo 1 esta vacío");
 }else{
 System.out.println("El campo 1 esta lleno");
 }
Validando directamente el JTextField
 if (Campo1.getText().isEmpty()) {
 System.out.println("El campo 1 esta vacio");
 }else{
 System.out.println("El campo 1 esta lleno");
 }

Para la segunda opción no es necesario utilizar la variable.

¿Como asignar un valor a un JTextField?

Esta es una tarea muy común, si deseamos que “aparezca” un valor en nuestro campo de texto, solo lo indicamos mediante la siguiente línea de código:

 Campo1.setText("Byspel");

Si deseamos “vaciar“, un JTextFiled lo único que debemos hacer es no especificar ningún valor.

 Campo1.setText("");

¿Como cambiar el color de fondo de un JTextField?

Esto podríamos hacerlo directamente con las herramientas del IDE, sin embargo puede que necesitemos cambiar un color de un campo de texto en tiempo de ejecución.

 Campo1.setBackground(new java.awt.Color(204, 204, 0));

También podemos cambiar el color de la fuente de forma similar:

Campo1.setForeground(new java.awt.Color(255, 51, 51));

Podemos también asignar un ToolTip, que sirve para orientar al usuario sobre el valor que debe ingresar.

 Campo1.setToolTipText("Ingrese su nombre");

¿Como cambiar el tipo de fuente de un JTextField?

Campo1.setFont(new java.awt.Font("Swis721 Blk BT", 1, 12));

Todas las anteriores son funcionalidades que el componente JTextField tiene disponibles, estas son solo las fundamentales, sin duda existen muchas funciones y propiedades adicionales que deberás utilizar dependiendo las necesidades de tu proyecto.