• A menudo, los oyentes se implementan con la interfaz ActionListener.
Una interfaz es un ente semejante a una clase cuyos métodos, todos,
están vacíos. Si un programador usa una clase para derivar una nueva
clase, el compilador requiere que la nueva clase implemente métodos para
todos los métodos de la interfaz.
• Si una clase está limitada en su alcance de modo que sólo es necesaria
para otra clase, entonces es necesario definir la clase como una clase
interna (una clase dentro de otra clase).
• Una clase interna anónima es una clase interna sin nombre.
• Para mostrar una simple ventana con un mensaje, es necesario llamar al
método showMessageDialog de JOptionPane.
• Para identificar el componente cuyo evento fue activado, utilice el
parámetro ActionEvent del método actionPerformed para llamar a
getSource o a getActionCommand.
• Para ajustar el color del texto de un componente GUI, llame a
setForeground. Para ajustar el color detrás del texto, llame a
setBackground.
• Para ajustar el color de fondo de una ventana, llame al método
setBackground del panel de contenido.
• Para detectar y manipular eventos de ratón, es necesario usar las clases
MouseAdapter y MouseMotionAdapter, que implementan las interfaces
MouseListener y MouseMotionListener, respectivamente.
Preguntas de revisión
§16.2 Fundamentos de programación de manejo de eventos
1. ¿Qué es un oyente?
2. ¿Qué es un manipulador de eventos?
§16.3 Un sencillo programa de ventanas
3. Escriba una declaración que agregue funcionalidad a un botón de cierre
de una ventana de modo que al hacer clic en ese botón se provoque la
terminación del programa.
§16.4 Clase JFrame
4. ¿Cuál es el nombre de la superclase para las clases que contienen
componentes?
§16.5 Componentes en Java
5. ¿Cuántos otros componentes tienen prefijo J?
§16.6 Componente JLabel
6. Proporcione una declaración de inicio que declare una variable de
referencia nombrada hello y que asigne "Hello World" a la variable de
referencia.
§16.7 Componente JTextField
7. Proporcione una declaración de inicio que instancie un objeto en una
ventana de texto de 10 caracteres de ancho. Como parte de la iniciación,
asigne el objeto de la ventana de texto a una variable de referencia
denominada input.
§16.9 Componente oyentes
8. Escriba una declaración que registre una variable de referencia oyente
denominada responder con un componente nombrado component.
9. Si se desea que una clase manipule un evento,¿qué cláusula debe
agregarse al lado derecho del encabezado de la clase?
10.¿Cuál es el encabezado de un método especificado por la interfaz
ActionListener?
§16.12 Componente JButton
13. En el método createContents del programa FactorialButton de la
figura 16.8a, ¿qué tipo de objeto llama a los métodos add?
14. En el programa FactorialButtom de las figuras 16.8a y 16.18b, ¿qué
componente activa el evento que manipula el oyente?
§16.16 Color
19. Escriba una declaración que establezca el color del texto en azul para
un objeto JButton denominado button1.
20. ¿Cómo se obtiene una referencia al contenedor que rodea todos los
componentes en un objeto JFrame?