466
Capítulo 11 Componentes de la GUI: parte 1
El usuario escribe caracteres en el campo de texto, y después hace clic en el botón
Aceptar
u oprime la tecla
Intro para enviar el objeto
String
al programa. Al hacer clic en
Aceptar
también se
cierra
(
oculta
)
el diálogo
.
[
Nota: si escribe en el campo de texto y no aparece nada, actívelo haciendo clic sobre él con el ratón]. A diferencia
de
Scanner
, que puede utilizarse para que el usuario introduzca valores de varios tipos mediante el teclado, un
diálogo de entrada sólo puede introducir objetos
String
. Esto es común en la mayoría de los componentes de la
GUI. Técnicamente, el usuario puede escribir cualquier cosa en el campo de texto del diálogo de entrada. Nuestro
programa asume que el usuario introduce un valor entero válido. Si el usuario hace clic en el botón
Cancelar
,
showInputDialog
devuelve
null
. Si el usuario escribe un valor no entero o si hace clic en el botón
Cancelar
en
el diálogo de entrada, se producirá un error lógico en tiempo de ejecución en este programa y no operará en forma
correcta. El capítulo 13, Manejo de excepciones, habla acerca de cómo manejar dichos errores. Las líneas 12 y 13
muestran otro diálogo de entrada que pide al usuario que introduzca el segundo entero.
Convertir objetos
String
en valores
int
Para realizar el cálculo en esta aplicación, debemos convertir los objetos
String
que el usuario introdujo, en valo-
res
int
. En la sección 7.12 vimos que el método
staticparseInt
de la clase
Integer
convierte su argumento
String
en un valor
int
. Las líneas 16 y 17 asignan los valores convertidos a las variables locales
numero1
y
nume-
ro2
. Después, la línea 19 suma estos valores y asigna el resultado a la variable local
suma
.
Diálogos de mensaje
Las líneas 22 y 23 usan el método
static
showMessageDialog
de
JOptionPane
para mostrar un diálogo de
mensaje (la última captura de pantalla de la fi gura 11.2) que contiene la suma. El primer argumento ayuda a la
aplicación de Java a determinar en dónde debe colocar el cuadro de diálogo. El valor
null
indica que el diálogo
debe aparecer en el centro de la pantalla de la computadora. El primer argumento puede usarse también para
especifi car que el diálogo debe aparecer centrado sobre una ventana específi ca, lo cual demostraremos más ade-
lante en la sección 11.8. El segundo argumento es el mensaje a mostrar; en este caso, el resultado de concatenar
el objeto
String"Lasumaes"
y el valor de
suma
. El tercer argumento (
"Suma de dos enteros"
) representa la
cadena que debe aparecer en la barra de título del diálogo, en la parte superior. El cuarto argumento (
JOption-
Pane.PLAIN_MESSAGE
) es el tipo de diálogo de mensaje a mostrar. Un diálogo
PLAIN_MESSAGE
no muestra un
icono a la izquierda del mensaje. La clase
JOptionPane
proporciona varias versiones sobrecargadas de los métodos
showInputDialog
y
showMessageDialog
, así como métodos que muestran otros tipos de diálogos. Para obte-
ner información completa acerca de la clase
JOptionPane
, visite el sitio
java.sun.com/javase/6/docs/api/
javax/swing/JOptionPane.html
.
Archivo
Nuevo
Abrir...
Cerrar
Observación de apariencia visual 11.3
Por lo general, la barra de título de una ventana utiliza
capitalización de título de libro
: un estilo que capitaliza
la primera letra de cada palabra signifi cativa en el texto, y no termina con ningún signo de puntuación (por ejemplo,
Capitalización en el Título de un Libro).
Constantes de diálogos de mensajes de
JOptionPane
Las constantes que representan los tipos de diálogos de mensajes se muestran en la fi gura 11.3. Todos los tipos
de diálogos de mensaje, excepto
PLAIN_MESSAGE
, muestran un icono a la izquierda del mensaje. Estos iconos
proporcionan una indicación visual de la importancia del mensaje para el usuario. Observe que un icono
QUES-
TION_MESSAGE
es el icono predeterminado para un cuadro de diálogo de entrada (vea la fi gura 11.2).
Figura 11.3
| Constantes
static
de
JOptionPane
para diálogos de mensaje. (Parte 1 de 2).
Tipo de diálogo de mensaje
Icono
Descripción
ERROR_MESSAGE
Un diálogo que indica un error al usuario.
INFORMATION_MESSAGE
Un diálogo con un mensaje informativo para el usuario.
11_MAQ_CAP_11.indd466
4/19/081:25:54AM