sábado, 20 de febrero de 2016

007.- Como llenar un Combo (Cuadro Combinado) - Java y NetBeans

A continuación presento un ejemplo de cómo llenar un Combo desde código (en tiempo de ejecución del programa):



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 añade lo siguiente:

    - Un combo y llamalo cboNumeros.

    - Un botón con el texto "Pares" y nombralo btnPares.

    - Un botón con el texto "Impares" y llamalo btnImpares.

    - Una etiqueta con borde y nombrale etiMensaje.


5.- Si ejecutas el proyecto observarás que el combo contiene elementos por defecto. Borra los elementos del combo haciendo uso de su propiedad model.

6.- La ventana debe tener el siguiente diseño:



7.- En el evento actionPerformed del botón Pares programe lo siguiente:



        int i;

        DefaultComboBoxModel modeloCombo = new DefaultComboBoxModel();

        for (i = 0; i <= 20; i += 2) {
            modeloCombo.addElement("N°" + i);
        }

        cboNumeros.setModel(modeloCombo);



8.- Explicaremos en código anterior:

        - Declaramos una variable "i" de tipo entero.

        - Creamos un objeto llamado modeloCombo.

        - Al igual que pasa con los cuadros de lista, los combos tienen un objeto "modelo" que es el que realmente contiene los datos. En el caso de los combos, para crear un objeto "modelo" se utiliza la siguiente instrucción:

DefaultComboBoxModel modeloCombo = new DefaultComboBoxModel();


        - A continuación se usa el objeto "modeloCombo" creado y se rellena de datos. Exactamente se rellena con los números pares comprendidos entre 0 y 20.

        - Observa el uso del método addElement para agregar un elemento al modelo del combo.

        - Se ha usado un bucle for para hacer la introducción de datos en el modelo más facil.

        - Al final se asocia el modelo al combo utilizando la siguiente línea de código, con lo que el combo aparece relleno con los elementos del modelo:

        cboNumeros.setModel(modeloCombo);


9.- Ejecuta el proyecto y observa el funcionamiento del botón Pares:




10.- El código del botón Impares es similar, programa en su evento actionPerformed lo siguiente:


        int i;

        DefaultComboBoxModel modeloCombo = new DefaultComboBoxModel();

        for (i = 1; i <= 20; i += 2) {
            modeloCombo.addElement("N°  " + i);
        }

        cboNumeros.setModel(modeloCombo);


11.- La única diferencia de este código es el for, el cuál está diseñado para almacenar los números impares entre 1 y 20 en el modelo.

12.- Finalmente programaremos en el actionPerformed del combo para que al seleccionar un elemento este se muestre en la etiqueta. Esto se logra con la siguiente línea de código:

        etiMensaje.setText(cboNumeros.getSelectedItem().toString());


13.- Utilizamos el método getSelectedItem() para obtener el elemento seleccionado y con toString() lo convertimos a texto.

14.- Ejecutemos el programa y veamos la funcionalidad de los botones Pares, Impares y del combo.



15.- A manera de práctica mencionamos que se puede agregar otro botón con el texto "Vaciar" para dejar el combo sin elementos. Para lograr esto creamos un modelo del combo y posteriormente de crearlo sin agregarle elementos lo asociamos al cuadro combinado haciendo uso del método setModel().





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

Los combos al igual que las listas son objetos que contienen a su vez otro objeto llamado "modelo".

Este objeto "modelo" es el que realmente contiene los datos del cuadro combinado.

Datos  ==>  Modelo  ==> Combo

Se puede crear un "modelo" y luego agregar datos en él; posteriormente tenemos que asociar ese "modelo" al combo a través de su método setModel(). De este modo se puede cambiar el contenido del combo en cualquier momento en tiempo de ejecución del proyecto.
=====================================================================
=====================================================================




No hay comentarios.:

Publicar un comentario