Home | Clases | Interfaces de usuario con Java Swing | Componentes JTextField y JTextArea

Componentes JTextField y JTextArea


JTextField

El control JTextField permite al operador del programa ingresar una cadena de caracteres por teclado. Para ver su fun cionamiento, vamos a crear un programa que permita ingresar el nombre de usuario y cuando se presione un botón mostrar el valor ingresado en la barra de títulos del JFrame.

/* Importamos las componentes Swing, así como el paquete con los interfaces para los eventos */
import javax.swing.*;
import java.awt.event.*;

/* La clase JFrame encapsula el concepto de una ventana, para implementar una aplicación que muestre una ventana debemos plantear una clase que herede de la clase JFrame e implemente a a ActionListener para el evento del botón*/
public class Formulario extends JFrame implements ActionListener{

/* Definimos variables. */
private JTextField textfield1;
private JLabel label1;
private JButton boton1;

/* En el constructor de la clase llamamos al método heredado de la clase JFrame llamado setLayout y le pasamos como parámetro un valor null, con esto estamos informándole a la clase JFrame que utilizaremos posicionamiento absoluto para los controles visuales dentro del JFrame*/
public Formulario() {

setLayout(null);

/* Etiqueta de usuario */
label1=new JLabel("Usuario:");
label1.setBounds(10,10,100,30);
add(label1);

/* Campo de texto */
textfield1=new JTextField();
textfield1.setBounds(120,10,150,20);
add(textfield1);

/* Botón de Aceptar */
boton1=new JButton("Aceptar");
boton1.setBounds(10,80,100,30);
add(boton1);

/* Inicializo escuchador del botón */
boton1.addActionListener(this);

}

/* Método que implementa la acción del botón */
public void actionPerformed(ActionEvent e) {
if (e.getSource()==boton1) {
String titulo=textfield1.getText();
setTitle(titulo);
}
}

/* En el método main creamos un objeto de la clase Formulario, llamamos al método setBounds para ubicar y dar tamaño al control y mediante el método setVisible hacemos visible el JFrame */
public static void main(String[] args) {

Formulario formulario1=new Formulario();
formulario1.setBounds(0,0,300,150);
formulario1.setVisible(true);

}

}


JTextArea

El control de tipo JTextArea permite ingresar múltiples líneas, a diferencia del control de tipo JTextField. Vamos a crear un campo de entrada de email de tipo JTextField y debajo el cuerpo del mensaje en formato jTextArea:

import javax.swing.*;

public class Formulario extends JFrame{

/* Definimos variables. */
private JTextField textfield1;
private JTextArea textarea1;

public Formulario() {

setLayout(null);

/* Campo de email */
textfield1=new JTextField();
textfield1.setBounds(10,10,200,30);
add(textfield1);

/* Cuerpo de mensaje */
textarea1=new JTextArea();
textarea1.setBounds(10,50,400,300);
add(textarea1);

}

public static void main(String[] args) {

Formulario formulario1=new Formulario();
formulario1.setBounds(0,0,540,400);
formulario1.setVisible(true);

}

}


El problema de JTextArea es que si escribimos muchas líneas, llegará un momento en que no podremos ver todo el texto. Para ello, debemos crear un objeto de la clase JScrollPane y añadir en su interior el objeto de la clase JTextArea, de modo que el código modificado quedaría así:

import javax.swing.*;

public class Formulario extends JFrame{

/* Definimos variables. */
private JTextField textfield1;
private JTextArea textarea1;
private JScrollPane scrollpane1;

public Formulario() {

setLayout(null);

/* Campo de email */
textfield1=new JTextField();
textfield1.setBounds(10,10,200,30);
add(textfield1);

/* Cuerpo de mensaje en scrollPane*/
textarea1=new JTextArea();
textarea1.setLineWrap(true); //Para que salte de línea al llegar al final del ancho del jTextArea
scrollpane1=new JScrollPane(textarea1);
scrollpane1.setBounds(10,50,400,300);
add(scrollpane1);

}

public static void main(String[] args) {

Formulario formulario1=new Formulario();
formulario1.setBounds(0,0,540,400);
formulario1.setVisible(true);

}

}


Ejercicios propuestos:

4. Crear un formulario de acceso con usuario, contraseña y botón de Acceder. Al puslar el botón, si el usuario es jairo y la contraseña es 12345678 debe devolver CORRECTO en verde, en caso contrario, debe devolver INCORRECTO en rojo.
5. Crear un formulario que incluya un jTextArea en el que se escriban las tablas de multiplicar del 1 al 10 con una operación en cada línea (total 100 operaciones en formato 1 x 1 = 1). Añadir el jTextArea a un JScrollPane para poder recorrer el texto del jTextArea mediante scroll.


Fuente: Diego Moisset. tutorialesprogramacionya.com

Fecha de publicación: 18/09/2020
Asignaturas: desarrollo de interfaces
Temas: interfaces usuario usabilidad
Utilizamos cookies propias y de terceros para mejorar su experiencia en la navegación. Al seguir navegando entendemos que acepta su uso.
Si lo desea, consulte nuestras políticas de privacidad y cookies
ENTENDIDO
[X] Cerrar

Contacta conmigo


[X] Cerrar

Acceso alumnos