El eventos container son generados por un Container justo despu�s de que se haya a�adido o eliminado un componente. Estos eventos son s�lo para notificaci�n -- no es necesario que est� presente un oyente de container para los componente sean a�adidos o eliminados satisfactoriamente.
�M�todos de Evento Container
El interface ContainerListener y su correspondiente clase adaptadora, ContainerAdapter, contienen dos m�todos.
- void componentAdded(ContainerEvent)
- Se le llama despu�s de que se la a�ada un componente al contenedor escuchado.
- void componentRemoved(ContainerEvent)
- Se le llama despu�s de que se elimine un componente del contenedor escuchado.
�Ejemplos de Manejo de Eventos Container
El siguiene applet demuestra los eventos container. Pulsando sobre "Add a button" o "Remove a button", podemos a�adir o eliminar componenten de un panel que hay en la parte inferior del applet. Cada vez que se a�ade o elimina un componente al panel, �ste dispara un evento container, y se le notifica a los oyentes del contenedor del panel. El oyente muestra mensajes descriptivos en el �rea de texto que hay en la parte superior del applet.
Esta es una imagen del GUI del applet. Para ejecutarlo, pulsa sobre ella. El applet aparecer� en una nueva ventana de tu navegador.
Prueba esto:
|
Puedes encontrar el c�digo del applet en ContainerEventDemo.java. Aqu� est� el c�digo que maneja los eventos container.
public class ContainerEventDemo ... implements ContainerListener ... { ...//where initialization occurs: buttonPanel = new JPanel(); buttonPanel.addContainerListener(this); ... public void componentAdded(ContainerEvent e) { displayMessage(" added to ", e); } public void componentRemoved(ContainerEvent e) { displayMessage(" removed from ", e); } void displayMessage(String action, ContainerEvent e) { display.append(((JButton)e.getChild()).getText() + " was" + action + e.getContainer().getClass().getName() + newline); } ... }
�La clase ContainerEvent
Cada m�todo del evento container tiene un s�lo par�metro, un objeto ContainerEvent. La clase ContainerEvent define dos m�todos �tiles.
- Component getChild()
- Devuelve el componente cuya adici�n o eliminaci�n dispar� este evento.
- Container getContainer()
- Devuelve el contenedor que gener� este evento. Se peude usar en lugar del m�todo getSource.