



(115 opiniones)
AREAS DE TEXTO
Java, a través del AWT, permite incorporar texto multilínea dentro de zonas de texto (TextArea). Los objetos TextArea se utilizan para elementos de texto que ocupan más de una línea, como puede ser la presentación tanto de texto editable como de sólo lectura.
Para crear una área de texto se pueden utilizar cuatro formas análogas a las que se han descrito en la creación de Campos de Texto. Pero además, para las áreas de texto hay que especificar el número de columnas.
Se puede permitir que el usuario edite el texto con el método setEditable() de la misma forma que se hacía en el TextField. En la figura aparece la representación del applet AreaTexto.java, que presenta dos áreas de texto, una vacía y editable y otra con un texto predefinido y no editable.
import java.awt.*;
import java.applet.Applet;
public class AreaTexto extends Applet {
TextArea t1,t2;
public void init() {
Button boton = new Button( "Aceptar" );
t1 = new TextArea();
t2 = new TextArea( "Tutorial de Java",5,40 );
t2.setEditable( false );
add( t1 );
add( t2 );
add( boton );
}
public boolean action( Event evt,Object obj ) {
if( evt.target instanceof Button )
{
if( "Aceptar".equals( obj ) )
{
String texto = t1.getText();
System.out.println( texto );
}
}
return true;
}
}
Para acceder al texto actual de una zona de texto se utiliza el método getText(), tal como muestra el código anterior. Las áreas de texto no generan eventos por sí solas, por lo que hay que utilizar eventos externos, para saber cuando tenemos que acceder a la información contenida en el TextArea. En este caso hemos utilizado un botón que generará un evento al pulsarlo que hará que se recoja el texto que haya escrito en el área de texto que constituye el applet.
CAMPOS DE TEXTO
Para la entrada directa de datos se suelen utilizar los campos de texto, que aparecen en pantalla como pequeñas cajas que permiten al usuario la entrada por teclado.
Los campos de texto (TextField) se pueden crear vacíos, vacíos con una longitud determinada, rellenos con texto predefinido y rellenos con texto predefinido y una longitud determinada. El applet siguiente, CampoTexto.java, genera cuatro campos de texto con cada una de las características anteriores. La imagen muestra los distintos tipos de campos.
import java.awt.*;
import java.applet.Applet;
public class CampoTexto extends Applet {
TextField tf1,tf2,tf3,tf4;
public void init() {
// Campo de texto vacío
tf1 = new TextField();
// Campo de texto vacío con 20 columnas
tf2 = new TextField( 20 );
// Texto predefinido
tf3 = new TextField( "Hola" );
// Texto predefinido en 30 columnas
tf4 = new TextField( "Hola",30 );
add( tf1 );
add( tf2 );
add( tf3 );
add( tf4 );
}
public boolean action( Event evt,Object obj ) {
if( evt.target instanceof TextField )
{
if( evt.target.equals( tf1 ) )
System.out.println( "Campo de Texto 1: " +
evt.arg.toString() );
if( evt.target.equals( tf1 ) )
System.out.println( "Campo de Texto 2: " +
evt.arg.toString() );
if( evt.target.equals( tf1 ) )
System.out.println( "Campo de Texto 3: " +
evt.arg.toString() );
if( evt.target.equals( tf1 ) )
System.out.println( "Campo de Texto 4: " +
evt.arg.toString() );
}
return true;
}
}
Cuando el usuario teclea un retorno de carro en un campo de texto, se genera un evento TextField, que al igual que con los otros Componentes del AWT podemos capturar con el método action(), tal como se demuestra en el ejemplo.
|