11.4 Mostrar texto e imágenes en una ventana
473
izquierdo del área de la etiqueta en la pantalla). La interfaz
SwingConstants
(paquete
javax.swing
) declara un
conjunto de constantes enteras comunes (como
SwingConstants.LEFT
) que se utilizan con muchos compo-
nentes de Swing. De manera predeterminada, el texto aparece a la derecha de una imagen cuando una etiqueta
contiene tanto texto como una imagen. Observe que las alineaciones horizontal y vertical de un objeto
JLabel
se pueden establecer mediante los métodos
setHorizontalAlignment
y
setVerticalAlignment
, respectiva-
mente. La línea 31 especifi ca el texto de información sobre herramientas para
etiqueta2
, y la línea 32 agrega
etiqueta2
al objeto
JFrame
.
Cómo crear y adjuntar
etiqueta3
La clase
JLabel
cuenta con muchos métodos para modifi car la apariencia de una etiqueta, una ves que se crea
una instancia de ésta. La línea 34 crea un objeto
JLabel
e invoca a su constructor sin argumentos. Al principio,
dicha etiqueta no tiene texto ni objeto
Icon
. La línea 35 utiliza el método
setText
de
JLabel
para establecer
el texto mostrado en la etiqueta. El método correspondiente
getText
obtiene el texto actual mostrado en la eti-
queta. La línea 36 utiliza el método
setIcon
de
JLabel
para especifi car el objeto
Icon
a mostrar en la etiqueta.
El correspondiente método
getIcon
obtiene el objeto
Icon
actual mostrado en una etiqueta. Las líneas 37 y 38
utilizan los métodos
setHorizontalTextPosition
y
setVerticalTextPosition
de
JLabel
para especifi car
la siguiente posición del texto en la etiqueta. En este caso, el texto se centrará en forma horizontal y aparecerá en la
parte inferior de la etiqueta. Por ende, el objeto
Icon
aparecerá por encima del texto. Las constantes de posición
horizontal en
SwingConstants
son
LEFT
,
CENTER
y
RIGHT
(fi gura 11.8). Las constantes de posición vertical en
SwingConstants
son
TOP
,
CENTER
y
BOTTOM
(fi gura 11.8). La línea 39 establece el texto de información sobre
herramientas para
etiqueta3
. La línea 40 agrega
etiqueta3
al objeto
JFrame
.
Cómo crear y mostrar una ventana
LabelFrame
La clase
PruebaLabel
(fi gura 11.7) crea un objeto de la clase
LabelFrame
(línea 9) y después especifi ca la opera-
ción de cierre predeterminada para la ventana. De manera predeterminada, al cerrar una ventana ésta simplemente
se oculta. Sin embargo, cuando el usuario cierre la ventana
LabelFrame
, nos gustaría que la aplicación terminara.
La línea 10 invoca al método
setDefaultCloseOperation
de
LabelFrame
(heredado de la clase
JFrame
) con
la constante
JFrame.EXIT_ON_CLOSE
como el argumento para indicar que el programa debe terminar cuando el
usuario cierre la ventana. Esta línea es importante. Sin ella, la aplicación no terminará cuando el usuario cierre
la ventana. A continuación, la línea 11 invoca el método
setSize
de
LabelFrame
para especifi car la anchura y la
altura de la ventana. Por último, la línea 12 invoca al método
setVisible
de
LabelFrame
con el argumento
true
, para mostrar la ventana en la pantalla. Pruebe a cambiar el tamaño de la ventana, para ver cómo el esquema
FlowLayout
cambia las posiciones de los objetos
JLabel
, a medida que cambia la anchura de la ventana.
Figura 11.8
| Algunos componentes de GUI básicos.
Constante
Descripción
Constantes de posición horizontal
SwingConstants.LEFT
Coloca el texto a la izquierda.
SwingConstants.CENTER
Coloca el texto en el centro.
SwingConstants.RIGHT
Coloca el texto a la derecha.
Constantes de posición vertical
SwingConstants.TOP
Coloca el texto en la parte superior.
SwingConstants.CENTER
Coloca el texto en el centro.
SwingConstants.BOTTOM
Coloca el texto en la parte inferior.
11_MAQ_CAP_11.indd473
4/19/081:25:58AM