528
Capítulo 11 Componentes de la GUI: parte 1
• El
método
setIcon
de
JLabel
especifi ca el objeto
Icon
a mostrar en una etiqueta. El correspondiente método
getIcon
obtiene el objeto
Icon
actual que se muestra en una etiqueta.
• Los
métodos
setHorizontalTextPosition
y
setVerticalTextPosition
de
JLabel
especifi can la posición del
texto en la etiqueta.
• El
método
setDefaultCloseOperation
de
JFrame
, con la constante
JFrame.EXIT_ON_CLOSE
como argumento,
indica que el programa debe terminar cuando el usuario cierre la ventana.
• El
método
setSize
de
Component
especifi ca la anchura y la altura de un componente.
• El
método
setVisible
de
Component
con el argumento
true
muestra un objeto
JFrame
en la pantalla.
Sección 11.5 Campos de texto y una introducción al manejo de eventos con clases anidadas
• Las GUIs se controlan por eventos; cuando el usuario interactúa con un componente de GUI, los eventos controlan
al programa para realizar las tareas.
• El código que realiza una tarea en respuesta a un evento se llama manejador de eventos, y el proceso general de
responder a los eventos se conoce como manejo de eventos.
• La
clase
JTextField
extiende a la clase
JTextComponent
(paquete
javax.swing.text
), que proporciona muchas
características comunes para los componentes de Swing basados en texto. La clase
JPasswordField
extiende a
JTextField
y agrega varios métodos específi cos para el procesamiento de contraseñas.
• Un
objeto
JPasswordField
muestra que se están escribiendo caracteres a medida que el usuario los introduce, pero
oculta los caracteres reales con caracteres de eco.
• Un componente recibe el enfoque cuando el usuario hace clic sobre él.
• El
método
setEditable
de
JTextComponent
puede usarse para hacer que un campo de texto no pueda editarse.
• Antes de que una aplicación pueda responder a un evento para un componente específi co de la GUI, debemos
realizar varios pasos de codifi cación: 1) Crear una clase que represente al manejador de eventos. 2) Implementar
una interfaz apropiada, conocida como interfaz de escucha de eventos, en la clase del
paso 1. 3) Indicar que se debe
notifi car a un objeto de la clase de los
pasos 1 y 2 cuando ocurra el evento. A esto se le conoce como registrar el
manejador de eventos.
• Las clases anidadas pueden ser
static
o no
static
. Las clases anidadas no
static
se llaman clases internas, y se
utilizan con frecuencia para el manejo de eventos.
• Antes de poder crear un objeto de una clase interna, debe haber primero un objeto de la clase de nivel superior, que
contenga a la clase interna, ya que un objeto de la clase interna tiene de manera implícita una referencia a un objeto
de su clase de nivel superior.
• Un objeto de la clase interna puede acceder directamente a todas las variables de instancia y métodos de su clase de
nivel superior.
• Una clase anidada que sea
static
no requiere un objeto de su clase de nivel superior, y no tiene de manera implícita
una referencia a un objeto de la clase de nivel superior.
• Cuando el usuario oprime
Intro en un objeto
JTextField
o
JPasswordField
, el componente de la GUI genera un
evento
ActionEvent
(paquete
java.awt.event
). Dicho evento se procesa mediante un objeto que implementa a la
interfaz
ActionListener
(paquete
java.awt.event
).
• El
método
addActionListener
de
JTextField
registra el manejador de eventos para un campo de texto de un
componente. Este método recibe como argumento un objeto
ActionListener
.
• El componente de GUI con el que interactúa el usuario es el
origen del evento
.
• Un
objeto
ActionEvent
contiene información acerca del evento que acaba de ocurrir, como el origen del evento y
el texto en el campo de texto.
• El
método
getSource
de
ActionEvent
devuelve una referencia al origen del evento. El método
getActionCom-
mand
de
ActionEvent
devuelve el texto que escribió el usuario en un campo de texto o en la etiqueta de un objeto
JButton
.
• El
método
getPassword
de
JPasswordField
devuelve la contraseña que escribió el usuario.
Sección 11.6 Tipos de eventos comunes de la GUI e interfaces de escucha
• Para cada tipo de objeto evento hay, por lo general, una interfaz de escucha de eventos que le corresponde. Cada
interfaz de escucha de eventos especifi ca uno o más métodos manejadores de eventos, que deben declararse en la
clase que implementa a la interfaz.
Sección 11.7 Cómo funciona el manejo de eventos
• Cuando ocurre un evento, el componente de la GUI con el que el usuario interactuó notifi ca a sus componentes de
escucha registrados, llamando al método de manejo de eventos apropiado de cada componente de escucha.
11_MAQ_CAP_11.indd528
4/19/081:26:26AM