Вы находитесь на странице: 1из 11

D E S A R R O L L O

D E

S O F T W A R E

JAVA: DILOGOS (dirigido por Jara)

Cuadros de Dilogo
Un cuadro de dilogo es un cuadro con opciones que aparece normalmente cuando se
activa una opcin del men principal del programa.
Los cuadros de dilogo tienen forma de ventana aunque no poseen algunas caractersticas
de estas. Por ejemplo, no pueden ser minimizados ni maximizados.
Los cuadros de dilogo, aparte de las opciones que muestran, suelen contener dos botones
tpicos: el botn Aceptar y el botn Cancelar. El primero de ellos da por vlidas las opciones
elegidas y cierra el cuadro de dilogo. El segundo simplemente cierra el cuadro de dilogo
sin hacer ninguna modificacin.
He aqu algunos ejemplos de cuadros de dilogo del programa Word:

Para crear cuadros de dilogo en Java, se usa un tipo de objetos llamado JDialog. Estos
objetos pueden ser diseados como si fueran ventanas, aunque representan realmente
cuadros de dilogo.

Prof.: Jara C. Miguel A.

systemjara.net@gmail.com

D E S A R R O L L O

D E

S O F T W A R E

Ejercicio guiado

1. Crea un nuevo proyecto en java.


2. Disea el JFrame de forma que la ventana tenga el siguiente aspecto:

Los elementos de la ventana tendrn los siguientes nombres:


-

Cuadro de texto de unidades: txtUnidades.


Cuadro de texto de precio: txtPrecio.
Etiqueta con borde del total: etiTotal.
Botn Calcular: btnCalcular.
Botn Configuracin: btnConfiguracion.

3. Se pretende que cuando se pulse el botn Calcular se calcule el total de la venta


(esto se har luego) Para hacer el clculo se tendrn en cuenta el IVA y el Descuento
a aplicar. Estos dos valores sern variables globales, ya que se usarn en distintos
lugares del programa.
4. As pues entra en el cdigo y declara una variable global iva y otra descuento tal
como se indica a continuacin (recuerda que las variables globales se colocan justo
despus de la lnea donde se define la clase principal public class):

Variables
globales

Prof.: Jara C. Miguel A.

systemjara.net@gmail.com

D E S A R R O L L O

D E

S O F T W A R E

5. Cuando el programa arranque, interesar que el iva por defecto sea 0, y que el
descuento por defecto sea 0 tambin, as que en el constructor, inicializaremos las
variables globales iva y descuento a 0:

Inicializacin de
variables
globales

6. Estamos ya preparados para programar el botn btnCalcular. Entra en su


actionPerformed y all se programar la realizacin del clculo de la siguiente forma:
double
double
double
double
double
double

unidades;
precio;
total;
//total
cantiva; //cantidad iva
cantdes; //cantidad descuento
totalsiniva; //total sin iva

//Recojo los datos de los cuadros de textos (convirtiendolos a nmeros)


unidades = Double.parseDouble(txtUnidades.getText());
precio = Double.parseDouble(txtPrecio.getText());
//Calculo el total sin iva, la cantidad de iva y la cantidad de descuento
totalsiniva=precio*unidades;
cantiva=totalsiniva*iva/100;
cantdes=totalsiniva*descuento/100;
//Ahora calculo el precio total:
total = totalsiniva+cantiva-cantdes;
//Coloco el total en la etiqueta:
etiTotal.setText(""+total);

7. Puedes ya ejecutar el programa y comprobar que el botn Calcular funciona, aunque


el clculo que realiza lo hace con un iva 0 y un descuento 0.
8. A continuacin se programar el botn Configuracin de forma que nos permita
decidir qu iva y qu descuento queremos aplicar. Este botn mostrar un CUADRO
DE DILOGO que permita al usuario configurar estos datos.

Prof.: Jara C. Miguel A.

systemjara.net@gmail.com

D E S A R R O L L O

D E

S O F T W A R E

9. Para aadir un cuadro de dilogo al proyecto, se tiene que aadir un objeto del tipo
JDialog sobre el JFrame.

10. Los JDialog son objetos ocultos, es decir, objetos que se colocan en la parte del
Inspector llamada Otros Componentes, al igual que sucede con los mens
contextuales o los JFileChooser. Observa tu inspector, all vers el JDialog que has
aadido:

11. Cmbiale el nombre. Lo llamaremos dialogoConfiguracion.


12. Los dilogos normalmente traen por defecto el layout BorderLayout. Para nuestro
ejemplo cambiaremos el layout del JDialog por el Diseo Libre:

13. Los JDialog se pueden disear independientemente, al igual que los JPanel. Solo
tienes que hacer doble clic sobre el dialogoConfiguracion (en el inspector) y este
aparecer en el centro de la ventana.
Prof.: Jara C. Miguel A.

systemjara.net@gmail.com

D E S A R R O L L O

D E

S O F T W A R E

14. As pues debes disear el dialogoConfiguracion para que quede de la siguiente


forma:

Los elementos del cuadro de dilogo tienen los siguientes nombres:


-

El cuadro de texto del Iva: txtIva.


El cuadro de texto del Descuento: txtDescuento.
El botn Aceptar: btnAceptar.
El botn Cancelar: btnCancelar.
Si observas el Inspector debe tener el siguiente aspecto:

Prof.: Jara C. Miguel A.

systemjara.net@gmail.com

D E S A R R O L L O

D E

S O F T W A R E

15. Se ha dicho que cuando se pulse el botn Configuracin en la ventana principal,


debe aparecer el cuadro de dilogo dialogoConfiguracion, que acabas de disear:

Haces clic sobre Configuracin


y aparece el dilogo

16. Para conseguir esto, debes programar el actionPerformed del botn


btnConfiguracion de la siguiente forma:
dialogoConfiguracion.setSize(250,200);
dialogoConfiguracion.setLocation(100,100);
dialogoConfiguracion.setVisible(true);

17. El cdigo anterior hace lo siguiente:


-

A travs del mtodo sitie se asigna un tamao de 250 x 200 al


cuadro de dilogo.
A travs del mtodo setLocation se determina que el cuadro de
dilogo aparecer en la posicin (100, 100) de la pantalla.
A travs del mtodo setVisible hacemos que el cuadro de dilogo se
muestre.

18. Ejecuta el programa y observa lo que sucede cuando pulsas el botn Configurar.
Debera aparecer el cuadro de dilogo en la posicin programada y con el tamao
programado:

Prof.: Jara C. Miguel A.

systemjara.net@gmail.com

D E S A R R O L L O

D E

S O F T W A R E

19. Los botones Aceptar y Cancelar del cuadro de dilogo an no hacen nada. As que
los programaremos. Empezaremos por el ms sencillo, el botn Cancelar.
20. El botn Cancelar de un cuadro de dilogo simplemente cierra dicho cuadro de
dilogo. Para ello, debes aadir el siguiente cdigo en el actionPerformed del botn
Cancelar del dilogo:
dialogoConfiguracion.dispose();

El mtodo dispose se usa para cerrar un cuadro de dilogo. Tambin se puede usar
con un JFrame para cerrarlo.
21. Ejecuta el programa de nuevo y comprueba el funcionamiento del botn Cancelar del
cuadro de dilogo.
22. Ahora se programar el botn Aceptar. Cuando el usuario pulse este botn, se
confirmar el valor del iva y del descuento que haya introducido. Es decir, se
traspasarn los valores introducidos en los cuadros de texto txtIva y txtDescuento a
las variables globales iva y descuento.
Una vez que se haya hecho esto, el cuadro de dilogo se debe cerrar.
23. Este es el cdigo que hace lo anterior. Debe programarlo en el actionPerformed del
botn Aceptar:
iva = Double.parseDouble(txtIva.getText());
descuento=Double.parseDouble(txtDescuento.getText());
dialogoConfiguracion.dispose();

24. Observe el cdigo. Primero se traspasa los valores de los cuadros de texto a las
variables globales y luego se cierra el cuadro de dilogo.
Prof.: Jara C. Miguel A.

systemjara.net@gmail.com

D E S A R R O L L O

D E

S O F T W A R E

25. Compruebe el funcionamiento del programa de la siguiente forma:


a. Ejecute el programa.
b. Introduzca 5 unidades y 20 de precio.
c. Si pulsa calcular, el total ser 100. (No hay ni iva ni descuento al empezar el
programa)
d. Ahora pulse el botn Configuracin, e introduzca un iva del 16. El descuento
djelo a 0. Acepte.
e. Ahora vuelva a calcular. Observe como ahora el total es 116, ya que se tiene
en cuenta el iva configurado.
f. Pruebe a configurar un descuento y vuelva a calcular.

26. Se pretende ahora mejorar un poco el cuadro de dilogo, aadindole un ttulo.


Seleccione el cuadro de dilogo en el Inspector y luego busque su propiedad title. En
ella escriba Configuracin de iva y descuento.
27. Vuelva a ejecutar el programa. Observe la barra de ttulo del cuadro de dilogo:

28. Ahora se estudiar el concepto de cuadro de dilogo modal y cuadro de dilogo no


modal.

Un cuadro de dilogo no modal. Es aquel que permite activar la ventana desde la que
apareci. Los cuadros de dilogo aadidos a un proyecto son por defecto no
modales.

29. Ejecuta el programa y prueba a hacer lo siguiente:


a. Pulsa el botn Configurar. Aparecer el cuadro de dilogo.
b. Pulsa sobre la ventana.

Prof.: Jara C. Miguel A.

systemjara.net@gmail.com

D E S A R R O L L O

D E

S O F T W A R E

Pulsa sobre la
ventana.

c. Observars que la ventana se activa, colocndose sobre el cuadro de dilogo.

La ventana se activa
colocndose por encima
del cuadro de dilogo.

d. Esto es posible gracias a que el cuadro de dilogo es no modal.


e. A veces, puede ser interesante que se active la ventana pero que el cuadro
de dilogo siga delante de ella. Para conseguir esto, es necesario activar la
propiedad del cuadro de dilogo llamada alwaysOnTop. Activa esta
propiedad:

Prof.: Jara C. Miguel A.

systemjara.net@gmail.com

D E S A R R O L L O

f.

D E

S O F T W A R E

Ahora ejecuta el programa de nuevo y haz que se visualice el cuadro de


dilogo de configuracin. Podrs comprobar que se puede activar la ventana
e incluso escribir en sus cuadros de textos, y que el cuadro de dilogo sigue
visible:

Se puede activar la
ventana trasera, e
incluso escribir en ella.
Esto es gracias a que el
cuadro de dilogo es no
modal.
Por otro lado, el cuadro
de dilogo sigue
mostrndose delante de
la ventana. Esto es
gracias a la propiedad
alwaysOnTop

g. Es muy comn, cuando tenemos un cuadro de dilogo no modal, usar la


propiedad alwaysOnTop, para que siempre aparezca delante de la ventana.

30. Ahora se estudiar el concepto de cuadro de dilogo modal.

Un cuadro de dilogo modal es aquel que no permite que se active otra ventana
hasta que este no se haya cerrado.

31. Para convertir nuestro cuadro de dilogo en modal, ser necesario que lo selecciones
en el inspector y busques la propiedad modal. Debes activar esta propiedad.

32. Ahora ejecuta el programa comprueba lo siguiente:


a. Haz que se visualice el cuadro de dilogo de configuracin.
b. A continuacin intenta activar la ventana haciendo clic sobre ella. Vers como
no es posible activarla. Es ms, intenta escribir en sus cuadros de texto. No
ser posible hacerlo. (Incluso observars un parpadeo en el cuadro de dilogo
avisndote de ello). Esto es debido a que ahora nuestro cuadro de dilogo es
modal.
Prof.: Jara C. Miguel A.

systemjara.net@gmail.com

D E S A R R O L L O

D E

S O F T W A R E

Aunque intentes activar la


ventana o escribir en ella, no
podrs, ya que el cuadro de
dilogo es modal.
Incluso vers un parpadeo en
el cuadro de dilogo cuando
intentas activar la otra
ventana.
Se podra decir que un cuadro
de dilogo modal es un
acaparador, y que no te deja
usar otro elemento hasta que
no acabes con l.
Solo cuando cierres el cuadro
de dilogo podrs seguir
trabajando con la ventana.

c. Solo cuando pulses, Aceptar, o Cancelar, o cierres el cuadro de dilogo,


podrs seguir trabajando con tu ventana.

CONCLUSIN
Los Cuadros de Dilogo son ventanas simplificadas que muestran distintas opciones
al usuario.
Los objetos JDialog son los que permiten la creacin y uso de cuadros de dilogo en
un proyecto java.
Para visualizar un JDialog ser necesario llamar a su mtodo setVisible. Tambin son
interesantes los mtodos setSize para asignarles un tamao y setLocation para situar
el cuadro de dilogo en la pantalla.
Para cerrar un JDialog ser necesario invocar a su mtodo dispose.
Existen dos tipos de cuadros de dilogo: los modales y no modales.
Los cuadros de dilogo modales no permiten que se active otra ventana hasta que el
cuadro de dilogo no se haya cerrado.
Los cuadros de dilogo no modales permiten trabajar con otra ventana a pesar de que
el propio cuadro de dilogo no haya sido cerrado.

Prof.: Jara C. Miguel A.

systemjara.net@gmail.com

Вам также может понравиться