##
LISTAS

Las listas (List) aparecen en los interfaces de usuario para facilitar a los operadores la manipulación de muchos elementos. Se crean utilizando métodos similares a los de los botones Choice. La lista es visible todo el tiempo, utilizándose una barra de desplazamiento para visualizar los elementos que no caben en el área que aparece en la pantalla.

El ejemplo siguiente, Lista.java, crea una lista que muestra cuatro líneas a la vez y no permite selección múltiple.

    import java.awt.*;
    import java.applet.Applet;

    public class Lista extends Applet {

        public void init() {
            List l = new List( 4,false );

            l.addItem( "Mercurio" );
            l.addItem( "Venus" );
            l.addItem( "Tierra" );
            l.addItem( "Marte" );
            l.addItem( "Jupiter" );
            l.addItem( "Saturno" );
            l.addItem( "Neptuno" );
            l.addItem( "Urano" );
            l.addItem( "Pluton" );
            add( l );
            }

        public boolean action( Event evt,Object obj ) {
            if( evt.target instanceof List )
                System.out.println( "Entrada de la Lista: " + obj );

            return true;
            }
        }

Para acceder a los elementos seleccionados se utilizan los métodos getSelectedItem() o getSelectedItems(). Para listas de selección simple, cualquier selección con doble-click en la lista disparará el método action() de la misma forma que con los eventos de selección en menús.

En el applet siguiente, ListaMult.java, se permite al usuario seleccionar varios elementos de los que constituyen la lista. En la figura se muestra la apariencia de una selección múltiple en este applet.

    import java.awt.*;
    import java.applet.Applet;

    public class ListaMult extends Applet {
        List lm = new List( 6,true );

        public void init() {
            Button boton = new Button( "Aceptar" );

            lm.addItem( "Mercurio" );
            lm.addItem( "Venus" );
            lm.addItem( "Tierra" );
            lm.addItem( "Marte" );
            lm.addItem( "Jupiter" );
            lm.addItem( "Saturno" );
            lm.addItem( "Neptuno" );
            lm.addItem( "Urano" );
            lm.addItem( "Pluton" );
            add( lm );
            add( boton );
            }

        public boolean action( Event evt,Object obj ) {
            if( evt.target instanceof Button )
                {
                if( "Aceptar".equals( obj ) )
                    {
                    String seleccion[];

                    seleccion = lm.getSelectedItems();
                    for( int i=0; i < seleccion.length; i++ )
                        System.out.println( seleccion[i] );
                    }
                }

            return true;
            }
        }

En este caso de la selección múltiple en una lista, utilizamos un evento externo para disparar las acciones asociadas a la lista. En el ejemplo, hemos incluido un botón para generar el evento que hace que el applet recoja los elementos que hay seleccionados en la lista.

|  | ##### [Anterior] [Indice] [Siguiente]