## Cómo Utilizar la Clase Choice

La clase Choice proporciona una lista de opciones al estilo menú, a la que se accede por un botón distintivo. Cuando el usuario elige un ítem de la lista, la clase Choice genera un evento Action.

La clase Choice es útil cuando se necesita mostrar un número de alternativas a una cantidad de espacio limitada, y el usuario no necesita ver todas las alternativas al mismo tiempo. Otro nombre por el que se podría conocer este elemento UI es lista desplegable. Otras formas de proporcionar múltiples alternativas son checkboxes, lists, y menus.

Abajo tienes un applet que tiene una lista desplegable y una etiqueta. Cuando el usuario elegie un ítem de la lista, la etiqueta cambia para reflejar el ítem elegido. Observa que el índice del primer ítem de una lista desplegable es 0.

Abajo tienes el código que crea la lista desplegable y maneja los eventos. (Aquí tienes el programa completo.) Observa que el segundo parámetro del método action() (que es el mismo que e.arg), es la cadena del ítem seleccionado.

        //...Donde se definen las variables de ejemplar:
        Choice choice; //pop-up list of choices

        //...Donde ocurre la inicialización:
        choice = new Choice();
        choice.addItem("ichi");
        choice.addItem("ni");
        choice.addItem("san");
        choice.addItem("yon");
        label = new Label();
        setLabelText(choice.getSelectedIndex(), choice.getSelectedItem());

    . . .

    public boolean action(Event e, Object arg) {
        if (e.target instanceof Choice) {
                setLabelText(choice.getSelectedIndex(), (String)arg);
                return true;
            }
            return false;
        }
    }

Junto con el método utilizado arriba, la clase Choice define otros métodos útiles:

int countItems()
  Devuelve el número de ítems de la lista.
String getItem(int)
  Devuelve la cadena mostrada por el ítem en el índice especificado.
void select(int)
  Selecciona el ítem del índice especificado.
void select(String)
  Selecciona el ítem que está mostrando la cadena especificada.

Ozito