// Demonstrates specialized canvas redrawing 	
	
import java.awt.*;	
import javax.swing.*;	
	
public class FishCanvas extends Canvas {	
	
	// instance variables 	
	Fish fish = new Fish();	
	
	// FishCanvas(): default constructor 	
	public FishCanvas() {	
		// configure canvas attributes 	
		setSize(200, 200);	
		setBackground(Color.BLUE);	
	
		// position fish	
		int fishWidth =	
				(int) fish.getShape().getBounds().getWidth();	
		int fishHeight =	
				(int) fish.getShape().getBounds().getHeight();	
		int w = getWidth();	
		int h = getHeight();	
		fish.setPosition((w - fishWidth)/2, (h - fishHeight)/2);	
	}	
	
	// paint(): draw the fish 	
	public void paint(Graphics g) {	
		fish.paint(g);	
	}	
	
	// main(): application entry point 	
	public static void main(String[] args) {	
		FishCanvas fishCanvas = new FishCanvas();	
	
		JFrame window = new JFrame("Canvas demo");	
		window.setSize(200, 200);	
		window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);	
	
		Container c = window.getContentPane();	
	
		FlowLayout manager = new FlowLayout();	
		c.setLayout(manager);	
	
		c.add(fishCanvas);	
	
		window.setVisible(true);	
	}	
}	
	
