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