package mit.awt.event ;

public class ComponentAdapter
extends mit.event.Adapter
implements	java.awt.event.ComponentListener
	,	mit.awt.event.ComponentRaiser
{
	private mit.event.RaiserAdapter raiserAdapter = null ;
	public mit.event.RaiserAdapter getRaiserAdapter() { return this.raiserAdapter ; }
	public void setRaiserAdapter( mit.event.RaiserAdapter raiserAdapter ) { this.raiserAdapter = raiserAdapter ; }

	private java.awt.event.ComponentEvent componentEvent = null ;
	public java.awt.event.ComponentEvent getComponentEvent() { return this.componentEvent ; }
	public void setComponentEvent( java.awt.event.ComponentEvent componentEvent ) { this.componentEvent = componentEvent ; }

	public ComponentAdapter( Object owner )
	{
		super( owner ) ;
		setRaiserAdapter( new mit.event.RaiserAdapter( owner ) ) ;
		if( owner instanceof java.awt.Component )
		{
			( ( java.awt.Component ) owner ).addComponentListener( this ) ;
		}
	}

	public void componentHidden( java.awt.event.ComponentEvent e ) { setEvent( e ) ; }
	public void componentMoved( java.awt.event.ComponentEvent e ) { setEvent( e ) ; }
	public void componentResized( java.awt.event.ComponentEvent e ) { setEvent( e ) ; }
	public void componentShown( java.awt.event.ComponentEvent e ) { setEvent( e ) ; }

	private void setEvent( java.awt.event.ComponentEvent e )
	{
		try
		{
			if( e.getSource().equals( getRaiserAdapter().getOwner() ) )
			{
				setComponentEvent( e ) ;
				new mit.awt.event.ComponentEvent( this ).raise() ;
			}
		}
		catch( Exception ex )
		{
			ex.printStackTrace() ;
		}
	}

}