FileDocCategorySizeDatePackage
FramedArea.javaAPI DocExample1084Tue Dec 12 18:57:50 GMT 2000None

FramedArea.java

/*
 * This class requires no changes from the 1.0 version.
 * It's kept here so the rest of the example can compile.
 */
import java.awt.*;

public class FramedArea extends Panel {
    private PhilosopherArea philosopherArea;

    public FramedArea(PhilAnimator controller) {
        super();

        //Set layout to one that makes its contents as big as possible.
        setLayout(new GridLayout(1,0));

	philosopherArea = new PhilosopherArea(controller);
        add(philosopherArea);
        validate();
    }

    public Insets getInsets() {
        return new Insets(4,4,5,5);
    }

    public void paint(Graphics g) {
        Dimension d = getSize();
        Color bg = getBackground();

        g.setColor(bg);
        g.draw3DRect(0, 0, d.width - 1, d.height - 1, true);
        g.draw3DRect(3, 3, d.width - 7, d.height - 7, false);
    }

    public void stopButton() {
	philosopherArea.stopPhilosophers();
	philosopherArea.createPhilosophersAndChopsticks();
	philosopherArea.repaint();
    }

    public void startButton() {
	philosopherArea.startPhilosophers();
    }
}