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.