En el ejemplo #11 vamos a utilizar una clase que esta al mismo nivel que un Form, la clase List. Esta clase esta excelente para crear menú de opciones como se verá más adelante en el ejemplo.
La clase List
Esta clase es muy parecida a la clase ChoiceGroup, nos permite mostrar un grupo de opciones para que el usuario elija una de ellas. La calse List puede ser de tres tipos:
• Implícitas
• Exclusivas
• Múltiples
Listas Implícitas
Este tipo de listas están perfectas para realizar un menú de opciones, ya que por sí mismas al seleccionarse activan un evento, el evento podría ser por ejemplo abrir un formulario (Form) para realizar algún cálculo, voy a repetirlo, este tipo de listas: “generaran un evento” es decir no se requiere ningún okCommand después de seleccionarse.
Listas Exclusivas y Múltiples
La figura siguiente muestra la imagen de este par de listas al lector se le van a hacer muy conocidas, puesto que si ha seguido el blog ya habrá trabajado con ChoiceGroup pues estos como puede verse en la imagen son idénticos a la lista mostrada enseguida.
No se entrará en detalles sobre este tipo de listas, se manejan igual que los ChoiceGroup, se usa el método getSelectIndex() para identificar que elemento se selecciono en las listas de tipo “exclusive” y el método getSelectFlag() para las listas de tipo múltiple.
Como crear objetos de tipo List desde netBeans
En la figura se observan tres grandes pasos que se realizan al trabajar con las listas, arrastrar y soltar (1), agregar los elementos necesarios (2) y conectar las acciones (3).
En la figura se observa como el método Started del dispositivo está conectado a la lista (todos los anteriores ejemplos estaban conectados a un Form). La conexión que sale de este método es lo primero que se ejecuta en el celular, en nuestro caso la lista que es la que contendría un hipotético menú de opciones deberiá ser lo primero que se mostraría en la pantalla del celular, esa es la razón de la conexión con el método Started contrario a todos los ejemplos donde se conectaban a un Form.
Por otro lado en la figura se observan dos elementos en la lista, llamados List Element 1 y List Element 2, véase como el primer elemento de la lista se conecta al Form, esto significa que “cuando seleccione el List Element 1 muestramé el Form”. Entonces directamente puedo mandar llamar los Form que sean necesarios.
Bueno basta de teoría, quizá el ejemplo #11 que se muestra enseguida, haga que todas las dudas que han surgido se aclaren, así que pasemos a ver de que trata.
Realizar un programa para el celular que sea capaz de mostrar un menú con las siguientes opciones:
• Área de un círculo.
• Obtener número mayor
• Ecuación cuadrática.
• Salir
El programa deberá ser capaz de realizar la operación seleccionada por el usuario.
La opción “Área de un circulo”, pide el radio del circulo y calcula su área. La opción de “Obtener número mayor” deberá pedir tres números solamente e indicará cual es el mayor de los tres. Para la opción “Ecuación cuadrática” usar la formula general y tener cuidado porque puede ser que la solución tenga raíces imaginarias.
Solución
Paso 1 Creación del menú
Para esta opción simplemente creamos la lista con las opciones mencionadas, para cada opción se crea un Form y se realizan las conexiones necesarias. La figura siguiente muestra la creación de la lista y se muestran las conexiones para dos opciones nada más.
En la figura se remarca que se requieren dos comandos un okCommand encargado de realizar la operación necesaria y un exitCommand que nos regresa al menú principal.
Paso #2 Agregar interfaz de usuario para cada opción
En la vista de flujo se da doble clic para que se abra cada Form y así poder agregar los elementos necesarios para la interfaz, como ya se ha realizado en otros ejemplos. La figura siguiente muestra la interfaz de usuario para la opción “Área de un círculo”
En resumen la interfaz de usuario para cada opción es la siguiente:
Opción 1: Un TextField para ingresar el radio y un StringItem para mostrar el resultado.
Opción 2: Tres TextField para ingresar los tres números y un StringITem para mostrar el resultado.
Opción 3: Tres TextField para ingresar los tres coeficientes de la ecuación y un Stringitem para mostrar el resultado.
Paso #3 Agregar el código en cada form
Cada Form tiene un okCommand para ejecutar la acción que se pide, dando clic derecho se tiene acceso a insertar el código como ya se ha visto en los Ejemplos #8 y #9. Aquí no voy a entrar en detalle del código, en teoría el lector debe tener idea de cómo hacer dicho código, mejor en el video que se muestra más adelante se puede ver el código con exactitud, agrandes rasgos lo que se realiza para cada opción es lo que sigue:
Opción 1: Leer el valor que se ingreso de radio, se aplica la formula y se muestra el resultado.
Opción 2: Leer los tres números y luego hacer tres comparaciones para saber cual es el mayor.
Opción 3: Leer los tres coeficientes, verificar si se puede resolver la ecuación y si es así aplicar la formula y mostrar los resultados y si no enviar mensaje de que tiene raíces imaginarias.
Paso #4 Probar
Pues ya finalmente se prueba el ejemplo y se verifica que no se tengan errores si los hay se corrige el código hasta que quede listo.
Video Tutorial
Clic AQUI para leer más...!