Mostrando entradas con la etiqueta JAVA: MODELOS DE CUADRO DE LISTA. Mostrar todas las entradas
Mostrando entradas con la etiqueta JAVA: MODELOS DE CUADRO DE LISTA. Mostrar todas las entradas

martes, 23 de junio de 2015

EJERCICIO GUIADO. JAVA: MODELOS DE CUADRO DE LISTA


  1. Realiza un nuevo proyecto.

  1. En la ventana principal debes añadir lo siguiente:

    1. Un combo llamado cboNumeros.
    2. Un botón “Pares” llamado btnPares.
    3. Un botón “Impares” llamado btnImpares.
    4. Una etiqueta con borde llamada etiResultado.

  1. Elimina todos los elementos que contenga el combo. Recuerda, debes usar la propiedad “model” del combo para cambiar sus elementos.

  1. Después de haber hecho todo esto, tu ventana debe quedar más o menos así:



  1. En el evento actionPerformed del botón Pares, programa lo siguiente:

int i;
      
DefaultComboBoxModel modelo = new DefaultComboBoxModel();
       
for (i=0;i<10;i+=2) {
   modelo.addElement("Nº "+i);
}
       
cboNumeros.setModel(modelo);


  1. Observa lo que hace este código:
    1. Crea un objeto “modelo” para el combo.

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 usará esta instrucción:

DefaultComboBoxModel modelo = new DefaultComboBoxModel();
    1. A continuación, se usa el objeto “modelo” creado y se rellena de datos. Concretamente, se rellena con los números pares comprendidos entre 0 y 10.

    1. Observa el uso de la propiedad addElement para añadir un elemento al modelo del combo.

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

    1. Finalmente, se asocia el modelo al combo a través de la siguiente línea, con lo que el combo aparece relleno con los elementos del modelo:

cboNumeros.setModel(modelo);


  1. Ejecuta el programa y observa el funcionamiento del botón Pares.



  1. El botón Impares es similar. Programa su actionPerformed como sigue:

int i;
DefaultComboBoxModel modelo = new DefaultComboBoxModel();
       
for (i=1;i<10;i+=2) {
   modelo.addElement("Nº "+i);
}
       
cboNumeros.setModel(modelo);


  1. La única diferencia de este código es el for, que está diseñado para que se introduzcan los números impares comprendidos entre 0 y 10 dentro del modelo.


  1. Finalmente se programará el actionPerformed del combo para que al seleccionar un elemento este aparezca en la etiqueta. Esto se hace con una simple instrucción:

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


Recuerda el uso de getSelectedItem() para recoger el elemento seleccionado, y el uso de toString() para convertirlo a texto.


  1. Prueba el programa. Prueba los botones Pares e Impares y prueba el combo.



  1. Sería interesante añadir un botón “Vaciar” llamado btnVaciar que vaciara el contenido del combo. Esto se haría simplemente creando un modelo vacío y asignarlo al combo. Se anima al alumno a que realice esta mejora.


CONCLUSIÓN

Un combo, al igual que los cuadros de lista, es un objeto que contiene a su vez otro objeto denominado “modelo”.

El objeto “modelo” es el que realmente contiene los datos del combo.

Combo à Modelo à Datos

Se puede crear un “modelo” y luego introducir datos en él. Luego se puede asociar ese “modelo” al combo. De esta manera se puede cambiar el contenido del combo en cualquier momento.





Category: articles

EJERCICIO GUIADO. JAVA: MODELOS DE CUADRO DE LISTA


  1. Realiza un nuevo proyecto.

  1. En la ventana principal debes añadir lo siguiente:

    1. Una etiqueta con borde llamada etiResultado.

  1. Añade un cuadro de lista al formulario (JList).





  1. Borra todo el contenido de la lista (propiedad model) y cámbiale el nombre a la lista. La lista se llamará lstNombres. Recuerda que las listas aparecen dentro de un objeto del tipo JScrollPane.











  1. Añade dos botones al formulario. Uno de ellos tendrá el texto “Curso 1” y se llamará btnCurso1 y el otro tendrá el texto “Curso 2” y se llamará btnCurso2.




  1. En el evento actionPerformed del botón “Curso 1” programa lo siguiente:

DefaultListModel modelo = new DefaultListModel();
modelo.addElement("Juan");
modelo.addElement("María");
modelo.addElement("Luis");
lstNombres.setModel(modelo);  


  1. En el evento actionPerformed del botón “Curso 2” programa lo siguiente:

DefaultListModel modelo = new DefaultListModel();
modelo.addElement("Ana");
modelo.addElement("Marta");
modelo.addElement("Jose");
lstNombres.setModel(modelo); 


  1. Explicación de los códigos anteriores:

    1. Lo que hace cada botón es rellenar el cuadro de lista con una serie de nombres. En el caso del botón “Curso 1”, la lista se rellena con los nombres Juan, María y Luis, mientras que en el caso del botón “Curso 2”, la lista se rellena con los nombres Ana, Marta y Jose.

    1. El contenido de un cuadro de lista es lo que se denomina un “modelo”. El “modelo” es un objeto que contiene el listado de elementos de la lista.

    1. Los modelos de las listas son objetos del tipo DefaultListModel.

    1. Lo que hace el programa es crear un “modelo”. Luego rellena el “modelo” con datos, y finalmente asocia el “modelo” al cuadro de lista. Veamos como se hace todo esto.

    1. Primero se crea el “modelo”, a través de la siguiente instrucción (será necesario añadir el import correspondiente, atento a la bombillita):

DefaultListModel modelo = new DefaultListModel();

    1. 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.

modelo.addElement("Ana");
modelo.addElement("Marta");
modelo.addElement("Jose");

    1. Finalmente asociamos el “modelo” creado al cuadro de lista de la siguiente forma:

lstNombres.setModel(modelo);  

    1. Así pues, aquí tienes una forma de cambiar el contenido de un cuadro de lista desde el propio programa.


  1. Prueba a ejecutar el programa. Observa como cuando pulsas cada botón cambia el contenido de la lista:




Click y cambia el listado.
 




  1. Ahora añade el siguiente código al evento mouseClicked del cuadro de lista:

etiResultado.setText(lstNombres.getSelectedValue().toString());

Esta instrucción hace que al seleccionar un elemento del cuadro de lista éste aparezca en la etiqueta etiResultado. Recuerda que el método getSelectedValue permite recoger el elemento seleccionado (hay que convertirlo a cadena con toString)


  1. Ejecuta el programa:




Click y aparece el elemento seleccionado en la etiqueta.
 





  1. Una propuesta. Añada un botón “Vaciar” llamado btnVaciar. Este botón vaciará el contenido de la lista. Para esto lo único que tiene que hacer es crear un modelo y, sin introducir ningún valor en él, asociarlo al cuadro de lista.


CONCLUSIÓN

Un cuadro de lista es un objeto que contiene a su vez otro objeto denominado “modelo”.

El objeto “modelo” es el que realmente contiene los datos de la lista.

Cuadro de lista à Modelo à Datos

Se puede crear un “modelo” y luego introducir datos en él. Luego se puede asociar ese “modelo” a la lista. De esta manera se puede cambiar el contenido de la lista en cualquier momento.




Category: articles