jueves, 18 de febrero de 2016

005.- Listas con Java y NetBeans

A continuación presento un ejemplo de uso práctico de Listas en NetBeans.



Realiza los siguientes pasos:



1.- Crea un nuevo proyecto.

2.- Dentro de Source Package crea un Java Package y llamalo paqueteInicial.

3.- Dentro de paqueteInicial crea un JFrame Form y nombralo VentanaInicial.

4.- Dentro de VentanaInicial sigue realizando los siguientes pasos.


5.- Añade una Lista. Las Listas son objetos JList.



6.- Coloca un botón, cambia su propiedad Text a Aceptar y nombralo btnAceptar.

7.- Agrega una etiqueta con borde llamada etiPuntoCardinal.


8.- Cambie el nombre de la Lista. Ten cuidado ya que los JList aparecen siempre dentro de otro objeto llamado jScrollPane. Si miras en el inspector, verás que al pulsar en el boton + del jScrollPane aparecerá el JList añadido.


9.- Cambiale el nombre al JList haciendo click derecho en el y escogiendo la opción Change Variable Name ...; ponle el nombre lstPuntosCardinales.

10.- Si te fijas en el JList, este consiste en un cuadro que contiene una serie de Elementos. Estos ítems pueden ser cambiados a través de su propiedad model.

11.- Busca la propiedad model del JList y haz click en el botón de los tres puntos; aparecerá un cuadro de diálogo similar a la siguiente figura.





12.- Borra los Items que aparecen por defecto y escribe los siguientes:

            Este
            Oeste
            Norte
            Sur


13.- Vamos a programar en el evento ActionPerformed del botón btnAceptar con el siguiente código:


         String mensaje;
        
        mensaje = "El Punto Cardinal Seleccionado es: " + lstPuntosCardinales.getSelectedValue().toString();
        
        etiPuntoCardinal.setText(mensaje);




14.- Analizaremos el código anterior:

        14.1.- Se crea una variable tipo cadena llamada mensaje.

        14.2.- En la variable mensaje se concatenan dos cadenas.

    14.3.- Observa la parte lstPuntosCardinales.getSelectedValue(), este código devuelve el valor seleccionado de la lista.

    14.4.- Hay que tener en cuenta que este valor no es una cadena, por eso hay que convertirlo a cadena añadiendo .toString().

         14.5.- De esta manera puedes obtener el elemento seleccionado de la lista.

   14.6.- Al final mostramos el contenido de la variable mensaje en la etiqueta etiPuntoCardinal.



15.- Ejecuta el proyecto para observar su funcionamiento. Por ejemplo si seleccionas el Punto Cardinal Norte y pulsas el botón Aceptar el resultado será el siguiente:





16.- Vamos a mejorar el programa. Puede suceder que el usuario no haya seleccionado ningún valor de la lista, sería interesante en este caso que el programa avisara de ello. Cambie el código del evento ActionPerformed del botón btnAceptar por el siguiente:


        String mensaje;
        
        if (lstPuntosCardinales.getSelectedIndex() == -1) {
            mensaje = "No Hay Un Punto Cardinal Seleccionado.";
        } else {
            mensaje = "El Punto Cardinal Seleccionado es: " + lstPuntosCardinales.getSelectedValue().toString();
        }
        
        etiPuntoCardinal.setText(mensaje);



17.- Analicemos el código anterior:

    17.1.- El método getSelectedIndex() devuelve el índice del elemento que está seleccionado.

  17.2.- Por ejemplo, si está seleccionado el primer elemento el índice vale 0, si está seleccionado el segundo elemento el índice vale 1, etc..

    17.3.- Si ningún elemento de la lista está seleccionado el método  getSelectedIndex() devuelve -1.


18.- Al ejecutar el proyecto y pulsar en el botón Aceptar sin seleccionar elemento alguno de la lista el resultado es el siguiente:





19.- Si el código anterior se hubiese programado en el evento mouseClicked de la lista lstPuntosCardinales, ya no sería necesario el botón Aceptar. En este caso cada vez que se hace click en un elemento de la lista inmediatamente aparecería el mensaje en la etiqueta.






=====================================================================
=====================================================================
CONCLUSIÓN:

El objeto JList permite crear listas. Estos objetos contienen una serie de elementos que pueden ser seleccionados.

A través del método getSelectedValue() se puede obtener el elemento que está seleccionado, el cual se debe convertir a cadena con toString().


A través del método getSelectedIndex() se puede obtener la posición del elemento seleccionado, si devuelve el valor -1 indicará que no hay elemento seleccionado en la lista.
=====================================================================
=====================================================================






No hay comentarios.:

Publicar un comentario