//  Scott DeRuiter                 3/27/03
//  ShowImage.java
//  Shows an image.
 
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
 
public class ShowImageBetter extends JApplet   
{
 
	private Image im;
	private DrawingAreaBetter canvas;
 
	public void init ( )  
    	{
		im = getImage ( getDocumentBase ( ), "Halloween.jpg" );
		WaitForImage ( this, im );

		canvas = new DrawingAreaBetter ( im );
		setContentPane ( canvas );
	}

	public void WaitForImage ( JApplet component, Image image )   
    	{
		MediaTracker tracker = new MediaTracker ( component );
		try  
        	{
			tracker.addImage ( image, 0 );
			tracker.waitForID ( 0 );
		}
		catch ( InterruptedException e )   
        	{
			e.printStackTrace ( );   
		}
	}

}

class DrawingAreaBetter extends JPanel implements MouseListener   
{ private int xpos, ypos; private boolean click; private Image image; public DrawingAreaBetter ( Image i ) { image = i; xpos = ypos = 0; click = false; addMouseListener ( this ); setBackground( Color.darkGray ); } public void paintComponent ( Graphics g ) { boolean b; if ( !click ) super.paintComponent ( g ); else b = g.drawImage ( image, xpos, ypos, 270, 180, this ); click = false; } public void mousePressed ( MouseEvent e ) { click = true; xpos = e.getX ( ) - 135; ypos = e.getY ( ) - 90; repaint ( ); } public void mouseClicked ( MouseEvent e ) {} public void mouseReleased ( MouseEvent e ) {} public void mouseEntered ( MouseEvent e ) {} public void mouseExited ( MouseEvent e ) {} }

Back to Lesson 28 Examples

Back to Java Main Page