## Cómo Utilizar las Clases TextArea y TextField

Las clases TextArea y TextField muestran texto seleccionable y, opcionalmente, permite al usuario editar ese texto. Se pueden crear subclases de TextArea y TextField para realizar varias tareas cómo comprobar los errores de la entrada. Como con cualquier componente, puede especificar los colores de fondo y de primer plano y la fuente utilizada en los campos y área de texto. Sin embargo no se puede cambiar su apariencia básica.

Estas dos clases, TextArea y TextField son subclases de TextComponent. De esta clase heredan métodos que les permiten cambiar y obtener la selección actual, permitir o desactivar la edición, obtener el texto seleccionado actualmente (o todo el texto), y modificar el texto.

Abajo tiene un applet que primero muestra un TextField y luego un TextArea. El TextField es editable; y el TextArea no. Cuando el usuario pulsa la tecla Return en el Campo de Texto, su contenido se copia dentro del Área de Texto y luego lo selecciona en el Campo de Texto.

Aquí tienes el programa. Aquí tienes el código que crea, inicializa, y maneja eventos del Campo y el Área de texto:

    //Donde se definan las variables de Ejemplar:
    TextField textField;
    TextArea textArea;

    public void init() {
        textField = new TextField(20);
        textArea = new TextArea(5, 20);
        textArea.setEditable(false);

        ...//Añade los dos componentes al Panel...
    }

    public boolean action(Event evt, Object arg) {
        String text = textField.getText();
        textArea.appendText(text + "\n");
        textField.selectAll();
        return true;
    }

La superclase TextComponente de TextArea y TextField suministra los métodos getText(), setText(), setEditable(), y selectAll() utilizados en el ejemplo anterior. También suministra los siguientes métodos: getSelectedText(), isEditable(), getSelectionStart(), y getSelectionEnd(). También proporciona un método select() que permite seleccionar el texto entre las posiciones de inicio y final que se especifiquen.

La clase TextField tiene cuatro constructores: TextField(), TextField(int), TextField(String), y TextField(String, int). El argumento entero especifica el número de columnas del campo de texto. El argumento String especifica el texto mostrado inicialmente en el campo de texto. La clase TextField también suministra los siguientes métodos:

int getColumns()
  Devuelve el número de columnas del campo de texto.
setEchoChar()
  Activa el eco del caracter, es útil para los campos de Password.
char getEchoChar() y boolean echoCharIsSet()
  Estos métodos le permite preguntar sobre el eco de caracteres.

Como la clase TextField, la clase TextArea tiene cuatro constructores: TextArea(), TextArea(int, int), TextArea(String), y TextArea(String, int, int). Los argumentos enteros especifican el número de filas y columnas (respectivamente) del área de texto. El argumento String especifica el texto mostrada inicialmente en el área de texto.

La clase TextArea suministra el método appendText() utilizado en el ejemplo anterior. También suministra estos métodos:

int getRows(), int getColumns()
  Devuelven el número de filas y columnas del área de texto.
void insertText(String, int)
  Inserta el texto especificado en la posición indicada.
void replaceText(String, int, int)
  Reemplaza el texto desde la posición inicial indicada (el primer entero) hasta la posición final indicada.

Ozito