package mit.rmi.ui ;

public class TestButton
extends mit.swing.xJButton
implements	mit.rmi.event.TestRaiser
	,	mit.event.Listener
{
	private mit.event.RaiserAdapter raiserAdapter = new mit.event.RaiserAdapter( this ) ;
	public mit.event.RaiserAdapter getRaiserAdapter() { return this.raiserAdapter ; }
	public void setRaiserAdapter( mit.event.RaiserAdapter raiserAdapter ) { this.raiserAdapter = raiserAdapter ; }

	private mit.event.ListenerAdapter listenerAdapter = new mit.event.ListenerAdapter( this ) ;
	public mit.event.ListenerAdapter getListenerAdapter() { return this.listenerAdapter ; }
	public void setListenerAdapter( mit.event.ListenerAdapter listenerAdapter ) { this.listenerAdapter = listenerAdapter ; }

	public void eventRaised( mit.event.Event e )
	{
		try
		{
			if( e instanceof mit.awt.event.ActionEvent )
			{
				HandleActionEvent( ( mit.awt.event.ActionEvent ) e ) ;
			}
		}
		catch( Exception ex )
		{
			ex.printStackTrace() ;
		}
	}

	private void HandleActionEvent( mit.awt.event.ActionEvent e )
	{
		if( action.equals( e.getSource() ) || isDefaultButton() )
		{
			new mit.rmi.event.TestEvent( this ).raise() ;
		}
	}
	
	public void addNotify()
	{
		super.addNotify() ;
		try
		{
			setText( "Test" ) ;
			setMnemonic( 'T' ) ;

			getListenerAdapter().addHandled( mit.awt.event.ActionEvent.class ) ;
			getEventControlAdapter().addContained( mit.awt.event.ActionEvent.class ) ;
		}
		catch( Exception ex )
		{
			ex.printStackTrace() ;
		}
	}
}