Swing y JFC (Java Foundation Classes)

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:
  1. Pulsa el bot�n "Add a button".

    Ver�s que aparece un bot�n en la parte inferior del applet. El oyente de container (en este ejemplo, un ejemplar de ContainerEventDemo) reacciona ante el resultante evento component-added mostrando "Button #1 was added to java.awt.Panel" en la parte superior del applet.

  2. Pulsa el bot�n "Remove a button".

    Esto elimina el �ltimo bot�n a�adido al panel, haciendo que el oyente de container reciba un evento de component-removed.

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.

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP
ARTÍCULO ANTERIOR