import java.awt.*;
import java.awt.event.*;
import java.applet.*;

/**
 * GIFImage and GIFImageControl test applet.
 *
 * @version May 1, 2000
 * @author  Ewald Snel
 */

public class TransparencyTestApplet extends Applet implements ActionListener
{
	public void init()
	{
		//{{INIT_CONTROLS
		setLayout(null);
		setBackground(java.awt.Color.lightGray);
		setSize(400,300);
		imageLabel.setText("GIF Image URL ...");
		add(imageLabel);
		imageLabel.setBounds(36,24,100,24);
		add(imageInputField);
		imageInputField.setBounds(144,24,220,24);
		imageStatus.setEditable(false);
		add(imageStatus);
		imageStatus.setBounds(36,252,328,24);
		add(imageControl);
		imageControl.setBounds(36,60,328,180);
		//}}

        //{{REGISTER_LISTENERS
        imageInputField.addActionListener( this );
        //}}

        imageInputField.setText( "dexter.gif" );
        actionPerformed( new ActionEvent( imageInputField, ActionEvent.ACTION_PERFORMED, imageInputField.getText() ) );
	}
	
	//{{DECLARE_CONTROLS
	java.awt.Label imageLabel = new java.awt.Label();
	java.awt.TextField imageInputField = new java.awt.TextField();
	java.awt.TextField imageStatus = new java.awt.TextField();
	GIFImageControl imageControl = new GIFImageControl();
	//}}


    /**
     * Handle action events on the text field.
     * @param evt the action event
     */
    public void actionPerformed( ActionEvent evt )
    {
        if (evt.getSource() == imageInputField)
        {
    		try
    		{
	            imageStatus.setText( "loading..." );
	            imageControl.setGIFImage( new GIFImage( getImage( getCodeBase(), evt.getActionCommand() ) ) );
	            imageStatus.setText( "done." );
		    }
		    catch (Exception e)
		    {
		        imageControl.setGIFImage(null);
	            imageStatus.setText( "Error :  " + e.getLocalizedMessage() );
	        }
        }
    }
}
