Resumen
529
• Todo
objeto
JComponent
tiene una variable de instancia llamada
listenerList
, la cual hace referencia a un objeto
de la clase
EventListenerList
(paquete
javax.swing.event
). Cada objeto de una subclase de
JComponent
man-
tiene las referencias a todos sus componentes de escucha registrados en la variable
listenerList
.
• Todo componente de la GUI soporta varios tipos de eventos, incluyendo los eventos de ratón, de teclado y otros. Cuan-
do ocurre un evento, éste se despacha sólo a los componentes de escucha de eventos del tipo apropiado. El componente
de la GUI recibe un ID de evento único, especifi cando el tipo de evento, el cual utiliza para decidir el tipo de compo-
nente de escucha al que debe despacharse el evento, y cuál método llamar en cada objeto componente de escucha.
Sección 11.8
JButton
• Un botón es un componente en el que el usuario hace clic para desencadenar cierta acción. Todos los tipos de boto-
nes son subclases de
AbstractButton
(paquete
javax.swing
), la cual declara las características comunes para los
botones de Swing. Por lo general, las etiquetas de los botones usan la capitalización tipo 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.
• Los botones de comandos se crean con la clase
JButton
.
• Un
objeto
JButton
puede mostrar un objeto
Icon
. Para proporcionar al usuario un nivel adicional de interacción
visual con la GUI, un objeto
JButton
también puede tener un icono de sustitución: un objeto
Icon
que se muestra
cuando el usuario coloca el ratón sobre el botón.
• El
método
setRolloverIcon
(de la clase
AbstractButton
) especifi ca la imagen a mostrar en un botón, cuando el
usuario coloca el ratón sobre él.
Sección 11.9 Botones que mantienen el estado
• Los componentes de la GUI de Swing contienen tres tipos de botones de estado:
JToggleButton
,
JCheckBox
y
JRadioButton
.
• Las
clases
JCheckBox
y
JRadioButton
son subclases de
JToggleButton
. Un objeto
JRadioButton
es distinto de un
objeto
JCheckBox
en cuanto a que, generalmente, hay varios objetos
JRadioButton
que se agrupan, y sólo puede
seleccionarse un botón en el grupo, en un momento dado.
• El
método
setFont
(de la clase
Component
) establece el tipo de letra de un componente a un nuevo objeto de la clase
Font
(paquete
java.awt
).
• Cuando el usuario hace clic en un objeto
JCheckBox
, ocurre un evento
ItemEvent
. Este evento puede manejarse
mediante un objeto
ItemListener
, que debe implementar al método
itemStateChanged
. El método
addItemLis-
tener
registra el componente de escucha para un objeto
JCheckBox
o
JRadioButton
.
• El
método
isSelected
de
JCheckBox
determina si un objeto
JCheckBox
está seleccionado.
• Los
objetos
JRadioButton
son similares a los objetos
JCheckBox
en cuanto a que tienen dos estados: seleccionado y
no seleccionado. Sin embargo, generalmente los botones de opción aparecen como un grupo, en el cual sólo puede
seleccionarse un botón a la vez. Al seleccionar un botón de opción distinto, se obliga a los demás botones de opción
a deseleccionarse.
• Los
objetos
JRadioButton
se utilizan para representar opciones mutuamente exclusivas.
• La relación lógica entre los objetos
JRadioButton
se mantiene mediante un objeto
ButtonGroup
(paquete
javax.
swing
).
• El
método
add
de
ButtonGroup
asocia a cada objeto
JRadioButton
con un objeto
ButtonGroup
. Si se agrega más
de un objeto
JRadioButton
seleccionado a un grupo, el primer objeto
JRadioButton
seleccionado que se agregue
será el que quede seleccionado cuando se muestre la GUI en pantalla.
• Los
objetos
JRadioButton
generan eventos
ItemEvent
cuando se hace clic sobre ellos.
Sección 11.10
JComboBox
y el uso de una clase interna anónima para el manejo de eventos
• Un
objeto
JComboBox
proporciona una lista de elementos, de los cuales el usuario puede seleccionar uno. Los obje-
tos
JComboBox
generan eventos
ItemEvent
.
• Cada elemento en un objeto
JComboBox
tiene un índice. El primer elemento que se agrega a un objeto
JComboBox
aparece como el elemento actualmente seleccionado cuando se muestra el objeto
JComboBox
. Los otros elemen-
tos se seleccionan haciendo clic en el objeto
JComboBox
, el cual se expande en una lista, de la cual el usuario puede
seleccionar un elemento.
• El
método
setMaximumRowCount
de
JComboBox
establece el máximo número de elementos a mostrar cuando el
usuario haga clic en el objeto
JComboBox
. Si hay elementos adicionales, el objeto
JComboBox
proporciona una barra
de desplazamiento que permite al usuario desplazarse por todos los elementos en la lista.
• Una clase interna anónima es una forma especial de clase interna, que se declara sin un nombre y por lo general
aparece dentro de la declaración de un método. Como una clase interna anónima no tiene nombre, un objeto de la
clase interna anónima debe crearse en el punto en el que se declara la clase.
• El
método
getSelectedIndex
de
JcomboBox
devuelve el índice del elemento seleccionado.
11_MAQ_CAP_11.indd529
4/19/081:26:26AM