Vous êtes sur la page 1sur 13

Desarrollo de Aplicaciones OO 2017

Handout 18
Objetivos:

Lista Desplegable: JComboBox, DefaultComboBoxModel

JComboBox: Es una lista desplegable, cuyo contenido es una estructura de datos llamada Model,
este modelo est constituido por un arreglo de cadenas.

DefaultComboBoxModel, Construye un modelo con una lista de tems que pueden ser desplegados
por un JComboBox. Permite que los tems sean construidos en tiempo de ejecucin, a diferencia
desde diseo como se vio en la prctica anterior (cuando se modifica la propiedad Model de un
JComboBox).

Algunos problemas requieren que el contenido de las listas sea dinmicas, en ese caso se debe
enlazar un modelo a una lista desplegable, de tal forma que los cambios efectuados en este modelo
sern reflejados en la lista desplegable. Estos modelos se construyen a partir de arreglos de objetos.
El ms comn son los arreglos de cadenas o Strings.

DESARROLLO DE LA PRCTICA.

A continuacin se creara un proyecto Java que utiliza listas desplegables cuyos tems se actualizan
segn la opcin elegida por el usuario (dinmico en tiempo de ejecucin).

1. Cree el proyecto java bsico ejercicio17.


2. Cree una clase de tipo JFrame Form (Ventana) dentro del paquete ejercicio17, nmbrela
Ventana1.
3. Disee la interfaz con los siguientes elementos (Los nombres de las variables se encuentran
bajo cada elemento de la ventana):

Ing. Mayenka Fernndez Chambi


Desarrollo de Aplicaciones OO 2017
Use el control JComboBox para las listas desplegables, cambie el nombre de la variable
siguiendo el estndar cbo.

Para establecer los elementos de la lista (valores de la lista) que representa a los
departamentos:
4. Seleccione el control cboDepartamento, clic derecho y seleccione Properties, luego
seleccione la propiedad Model, y cambie los tems: Item1, Item2, por Arequipa y Puno,
as:

Seleccione Ok, y Close.

Evento en la Lista Desplegable, todos los controles (etiquetas, cajas de texto, botones, radio
botones, etc) de una Ventana pueden responder a algn evento producido por el clic del
mouse sobre el control. Hasta ahora hemos enlazado los eventos slo al control Button,
est vez el que responder directamente a un evento ser la propia lista desplegable.

Ing. Mayenka Fernndez Chambi


Desarrollo de Aplicaciones OO 2017
5. Doble clic sobre la lista desplegable cboDepartamento, escriba el siguiente cdigo dentro
del mtodo enlazado a esta lista desplegable que responde al evento seleccin de un
elemento de la lista:

Declare la variable de clase dcbm de tipo DefaultComboBoxModel sobre el mtodo


enlazado a la lista desplegable cboDepartamento, importe la clase
javax.swing.DefaultComboBoxModel con ayuda del IDE luego de declararla:

6. Guarde el proyecto.
7. Desde el mtodo main() de la clase Ejercicio17, cree un objeto Ventana1 y use el mtodo
setVisible() para que la ventana sea ejecutada desde el proyecto y se muestre visible, as:

Ing. Mayenka Fernndez Chambi


Desarrollo de Aplicaciones OO 2017
8. Guarde y ejecute el proyecto: al principio no se muestra ninguna provincia correspondiente
al departamento de Arequipa, al contrario slo estn los tems 1, 2, 3, y 4:

Si elige Puno, la lista de Provincias actualiza sus tems por las provincias de Puno:

Si elige Arequipa, la lista de Provincias actualiza sus tems por las provincias de Arequipa:

Ing. Mayenka Fernndez Chambi


Desarrollo de Aplicaciones OO 2017
Para corregir que la lista desplegable cboProvincia no tengan ningun item al principio,
porque aun no se ha elegido un departamento, y que la lista desplegable cboDepartamento,
no muestre como seleccionado el primer tem al principio de la ejecucin de la ventana.

9. Desde la vista Source, dentro del mtodo Ventana1(), agregue las siguientes lneas de
cdigo:

Al modelo dcbm se le asigna una lista vaca, y luego es dada a la lista desplegable
cboProvincia; de esta manera el modelo estar vaco. Finalmente, se establece que la lista
desplegable cboDepartamento seleccione el elemento del ndice-1 o no seleccionar nada.

10. Vuelva a ejecutar el proyecto, y observe que no est elegido ningn departamento y no
existe tems en la lista desplegable que representa las provincias.

Ing. Mayenka Fernndez Chambi


Desarrollo de Aplicaciones OO 2017

Tarea:
1. Complete las provincias de los departamentos del sur peruano (Tacna, Moquegua y Cusco), de
tal forma que al elegir el departamento se despliegan sus provincias:

Prueba 1: Departamento: Cusco

Prueba 2: Departamento: Moquegua

Prueba 3: Departamento: Tacna

Ing. Mayenka Fernndez Chambi


Desarrollo de Aplicaciones OO 2017

2. Adicione la funcionalidad de Recuperar la capital de las provincias del departamento de Puno


cuando estas sean seleccionadas. Para otras provincias de otros departamentos esta
funcionalidad esta deshabilitada.
Prueba 1: Provincia: Carabaya

Prueba 2: Provincia: El Collao

Ing. Mayenka Fernndez Chambi


Desarrollo de Aplicaciones OO 2017

Prueba 3: Provincia: San Romn

Prueba 4: Departamento = Cusco, Provincia = Anta, entonces no existe la capital


de esta provincia.

Ing. Mayenka Fernndez Chambi


Desarrollo de Aplicaciones OO 2017
3. Cree una Ventana que permita elegir entre diversas marcas de productos segn la el producto
seleccionado. Los productos existentes son Celulares, Laptops y Tablets. Las marcas en
celulares son: LG, Samsung y Nokia; mientras que en Laptops estn Acer, HP y Toshiba, y en
Tablets estn Asus, Lenovo y Samsung.

Prueba 1: Producto= Celular

Prueba 2: Producto = Laptop

Prueba 3: Producto = Tablet

Ing. Mayenka Fernndez Chambi


Desarrollo de Aplicaciones OO 2017

4. Adicione la funcionalidad de recuperar el precio unitario de cada producto segn la marca


elegida. Para luego calcular el total de la venta.
Celulares: LG = 399.9, Samsung=499.9 y Nokia=989.9; Laptops: Hacer=1300.9,
HP=2999.9 y Toshiba=1499.9, y en Tablets: Asus=189.9, Lenovo=599.9 y
Samsung=1279.9.
Prueba 1: Producto = Celular, Marca = LG, Cantidad = 2; entonces Total = 799.8

Prueba 2: Producto = Laptop, Marca = HP, Cantidad = 1; entonces Total = 2999.9

Ing. Mayenka Fernndez Chambi


Desarrollo de Aplicaciones OO 2017

Prueba 3: Producto = Tablet, Marca = Samsung, Cantidad = 3; entonces Total =


3839.7

5. Adicione la funcionalidad de Ventas 2x1, para nicamente las marcas del producto Laptop.
Prueba 1: Producto = Laptop, Marca = Acer, cantidad = 1, entonces Total = 1300.9
(venta x1)

Ing. Mayenka Fernndez Chambi


Desarrollo de Aplicaciones OO 2017

Prueba 2: Producto = Laptop, Marca = HP, cantidad = 2, entonces Total = 2999.9


(venta 2x1)

Prueba 3: Producto = Laptop, Marca = Toshiba, cantidad = 3, entonces Total =


2999.8 (venta 2x1 + venta x1)

Ing. Mayenka Fernndez Chambi


Desarrollo de Aplicaciones OO 2017

Prueba 4: Producto = Celular, Marca = Nokia, cantidad = 2, entonces Total = 1979.8


(venta sin 2x1)

Ing. Mayenka Fernndez Chambi

Vous aimerez peut-être aussi