jueves, 18 de febrero de 2016

006.- Como llenar una Lista - Java y NetBeans

A continuación presento un ejemplo de uso práctico de Listas y sus Modelos 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.- Borra todo el contenido de la lista a través de su propiedad model y cámbiale el nombre a la lista. La lista se llamará lstColores. Hay que recordar que las listas aparecen dentro de un objeto del tipo jScrollPane.




7.- Agrega una etiqueta con borde, sin texto y nombralo etiMensaje; agrega también dos botones al formulario, uno de ellos tendrá el texto "Colores Primarios" y se llamará btnColoresPrimarios y el otro tendrá el texto "Colores Secundarios" y se llamará btnColoresSecundarios.





8.- En el evento actionPerformed del botón btnColoresPrimarios programaremos lo siguiente:

        DefaultListModel modeloLista = new DefaultListModel();
        
        modeloLista.addElement("Rojo");
        modeloLista.addElement("Amarillo");
        modeloLista.addElement("Azul");
        
        lstColores.setModel(modeloLista);




9.- En el evento actionPerformed del botón btnColoresSecundarios programaremos lo siguiente:

        DefaultListModel modeloLista = new DefaultListModel();
        
        modeloLista.addElement("Naranja");
        modeloLista.addElement("Verde");
        modeloLista.addElement("Morado");
        
        lstColores.setModel(modeloLista);



10.- Explicaremos los códigos anteriores:

    10.1.- Lo que se hace en cada botón es rellenar la lista con nombres de colores. En el caso del botón "Colores Primarios" la lista se rellena con las palabras Rojo, Amarillo y Azul; y en el caso del botón "Colores Secundarios" la lista se rellena con las palabras Naranja, Verde y Morado.

    10.2.- El contenido de una lista es lo que se denomina un "modelo". El "modelo" es un objeto que contiene el listado de elementos de la lista.

    10.3.- Los modelos de las listas son objetos del tipo DefaultListModel.

    10.4.- Lo que hace el programa es crear un "modelo". Luego rellena el "modelo" con datos, y finalmente asocia el "modelo" a la lista.

    10.5.- En la primera línea de código se crea el "modelo", a través de la siguiente instrucción (será necesario insertar el import correspondiente haciendo click en la bombilla amarilla de la izquierda):

        DefaultListModel modeloLista = new DefaultListModel();


    10.5.- El "modelo" tiene un método llamado addElement que permite introducir datos dentro de él. Así pues usamos este método para añadir los datos al modelo.

        modeloLista.addElement("Rojo");
        modeloLista.addElement("Amarillo");
        modeloLista.addElement("Azul");


    10.6.- Finalmente asociamos el "modelo" creado al cuadro de lista con la siguiente línea de código:

        lstColores.setModel(modeloLista);


    10.7.- Esta es la manera para cambiar el contenido de la lista desde el código del programa.



11.- Probemos ejecutando el proyecto. Al hacer click en cada botón observa como cambia el contenido de la lista.




12.- Programa lo siguiente en el evento mouseClicked de la lista lstColores:

       etiMensaje.setText(lstColores.getSelectedValue().toString());


13.- La línea de código anterior hace que al hacer click en un elemento de la lista éste aparezca en la etiqueta llamada etiMensaje. Hay que recordar que el método getSelectedValue permite obtener el valor del elemento seleccionado (lo convertimos a cadena con toString).


14.- Probemos ejecutando el programa.




15.- Agregaremos un botón más con el texto "Vaciar" al cual llamaremos btnVaciar, este botón vaciará el contenido de la lista. Para hacer esto se tiene que crear un modelo y sin añadir elementos en este se asocia a la lista. Programe el siguiente código en el evento actionPerformed del botón btnVaciar:

        DefaultListModel modeloLista = new DefaultListModel();
        lstColores.setModel(modeloLista);


16.- Probemos nuevamente ejecutando el proyecto:





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

Las listas son objetos que contienen a su vez otros objetos denominados "modelos".

El objeto "modelo" es el que realmente contiene los Datos de la Lista.

Datos  ==>  Modelo  ==> Lista

Se puede crear un "modelo" y luego introducir datos en él. Luego este "modelo" se asocia a la lista; de este modo se puede cambiar el contenido de la lista en tiempo de ejecución del proyecto.
=====================================================================
=====================================================================






No hay comentarios.:

Publicar un comentario