A menudo en las interfaces de nuestros Apliques nos sucede que el usuario tiene que hacer una o más selecciones entre varias posibilidades. Para hacerlo podemos utilizar las listas, que representan una serie de objetos y dan la posibilidad de elegir. Pensemos, por ejemplo, en un aplique que gestiona las reservas de visitas guiadas de algunas localidades y que nos obligue a elegir una.
Además de las formas conocidas para el Nombre, Apellidos, etc.. tendremos la lista de las localidades
constructores:
List() , crear una nueva lista
List(int rows), crea una nueva lista con rows líneas
List(int rows, boolean multipleMode), crea una nueva lista con rows líneas, y se le dice que, según el valor booleano multipleMode, se podrán elegir uno o más elementos de la lista.
Algunos métodos que podemos utilizar en las listas son:
>void add(String item) e void add(String item, int index), para colgar, al final de la lista o en cierta posición, un nuevo componente.
>void addActionListener(ActionListener l), para asociar un ActionListener a la lista.
>void addItemListener(ItemListener l), para asociar un ItemListener a la lista.
>String getItem(int index), para tener el elemento en posición indicada.
>int getItemCount() , para obtener el número de los elementos.
>String[] getItems(), para obtener todos los elementos.
>EventListener[] getListeners(Class listenerType) , para obtener los oyentes asociados a la lista del tipo que queremos.
>Dimension getMinimumSize(), da el tamaño mínimo de la lista.
>Dimension getPreferredSize(), da el tamaño preferido para la lista.
>int getRows() , dice el número de líneas al momento visibles en la lista.
>Int getSelectedIndex(), da el índice del elemento seleccionado.
>int[] getSelectedIndexes(), da los índices de los elementos seleccionados.
>String getSelectedItem(), da el objeto seleccionado.
>String[]getSelectedItems(), da los objetos seleccionados.
>Object[] getSelectedObjects(), da la lista de los elementos seleccionados en un vector de objetos.
>boolean isIndexSelected(int index), dice si el índice está seleccionado.
>boolean isMultipleMode(), dice si, en la lista, se pueden seleccionar más elementos.
>void makeVisible(int index), visualiza el item en la posición indicada.
>void remove(int position), void remove(String item), elimina los elementos indicados por el
índice o la etiqueta.
>void removeAll(), elimina todos los elementos de la lista.
>void removeActionListener(ActionListener l) e void removeItemListener(ItemListener l), eliminan los oyentes de sucesos definidos para la lista.
>void select(int index), selecciona el elemento indicado en la lista.
>void setMultipleMode(boolean b), dice a la lista si es posible seleccionar sólo un elemento o más de uno.
>void replaceItem(String newValue, int index), modifica el elemento especificado.
Las listas son unos buenos GUI para que el usuario ponga en marcha una opción entre las muchas posibilidades.
Hay otro GUI que sirve para esto, que prácticamente es una lista que aparece y desaparece, en el sentido de que se puede ver sólo el objeto seleccionado y que los demás se ven sólo cuando hay que hacer la selección, tipo menú, mientras en las listas se pueden ver siempre.
El GUI del que estoy hablando es el Choice (selección), cuyo funcionamiento es parecido al de las listas.
El constructor es uno sin parámetros, mientras los métodos son:
>void add(String item), añade una posibilidad al final de las selecciones posibles.
>void addItem(String item), como la add
>void addItemListener(ItemListener l), asocia un oyente de sucesos para la Choice.
>String getItem(int index), devuelve la elección posible que se encuentra en el índice .
>int getItemCount(), da el número de posibilidades para la Choice.
>EventListener[] getListeners(Class listenerType), da todos los oyentes asociados a la Choice.
>int getSelectedIndex(), devuelve el índice de la lista seleccionada en la Choice.
>String getSelectedItem(), devuelve la opción seleccionada en la Choice.
>Object[] getSelectedObjects(), da todos los item seleccionados.
>void insert(String item, int index), introduce una seleccióm en la posición indicada de la Choice.
>void remove(int position), void remove(String item), void removeAll() , para eliminar las selecciones posibles de la lista.
>void removeItemListener(ItemListener l), elimina el oyente de sucesos de tipo ItemListener asociado a la Choice.
>void select(int pos), void select(String str), para seleccionar una opción.
El último componente GUI que veremos en esta lección es el ScrollPane, es decir, un panel en el que es posible introducir un componente tan grande como queramos, y que tiene que ser visualizado a trozos.
El ScrollPane usa dos Scrollbar, una horizontal y otra vertical, para seleccionar la parte del GUI que queremos ver. La Scrollbar es un objeto también, por lo tanto, se puede introducir y gestionar en las proprias aplicaciones. En el ScrollPane se puede elegir si visualizar las Scrollbar siempre, nunca o sólo cuando sea necesario.
Un ScrollPane típico es el que utilizamos para visualizar un archivo de texto.
Hay dos tipos de constructores para el objeto:
ScrollPane(int sbp), crea un ScrollPane que pueda visualizar las Scrollbar definidas por spb.
Los valores posibles son :
ScrollPane.SCROLLBARS_ALWAYS siempre a la vista
ScrollPane.SCROLLBARS_AS_NEEDED a la vista sólo si lo necesitamos
ScrollPane.SCROLLBARS_NEVER nunca a la vista
ScrollPane(), crea un ScrollPane que pueda visualizar ScrollPane.SCROLLBARS_AS_NEEDED.
Entre los métodos, además de los que sirven para gestionar el ScrollPane, encontramos los de Container y de Component. En efecto, ScrollPane es una extensión de Container, por lo tanto, si lo vemos como un contenedor, se puede ver como un componente.
