Saltar la navegación

3.3.8.- Listas.

Lista de nombres de persona en un control Jlist.

En casi todos los programas, nos encontramos con que se pide al usuario que introduzca un dato, y además un dato de entre una lista de valores posibles, no un dato cualquiera.

La clase JList constituye un componente lista sobre el que se puede ver y seleccionar uno o varios elementos a la vez. En caso de haber más elementos de los que se pueden visualizar, es posible utilizar un componente JScrollPanel para que aparezcan barras de desplazamiento.

En los componentes JList, un modelo code>ListModel representa los contenidos de la lista. Esto significa que los datos de la lista se guardan en una estructura de datos independiente, denominada modelo de la lista. Es fácil mostrar en una lista los elementos de un vector o array de objetos, usando un constructor de JList que cree una instancia de ListModel automáticamente a partir de ese vector.

Vemos a continuación un ejemplo parar crear una lista JList que muestra las cadenas contenidas en el vector info[]:

String[] info = {"Pato", "Loro", "Perro", "Cuervo"};

JList listaDatos = new JList(info);

/* El valor de la propiedad model de JList es un objeto que proporciona una visión de sólo lectura del vector info[].

El método getModel() permite recoger ese modelo en forma de Vector de objetos, y utilizar con los métodos de la clase

Vector, como getElementAt(i), que proporciona el elemento de la posición i del Vector.  */

for (int i = 0; i < listaDatos.getModel().getSize(); i++) {

System.out.println(listaDatos.getModel().getElementAt(i));

}


Para saber más

A continuación puedes ver como crear un JList, paso a paso, en el enlace siguiente.

Crear un JList paso a paso.

En el enlace que tienes a continuación puedes ver un vídeo que muestra cómo trabajar con un componente lista en Netbeans.