// Program 15.8: A Pizza on a Canvas import java.applet.Applet; import java.awt.Canvas; import java.awt.Label; import java.awt.Dimension; import java.awt.Graphics; public class DrawPizza extends Applet { public void init() { add(new Label("This is a pizza", Label.CENTER)); add(new PizzaCanvas()); } } class PizzaCanvas extends Canvas { public void paint(Graphics g) { int CanvasWidth = size().width; int CanvasHeight = size().height; g.drawOval(0, 0, CanvasWidth-1, CanvasHeight-1); // Slice the pizza g.drawLine(0, CanvasHeight/2, CanvasWidth-1, CanvasHeight/2); g.drawLine(CanvasWidth/2, 0, CanvasWidth/2, CanvasHeight-1); int gap = (int) ((CanvasWidth/2) * (1.0 - 1.0/Math.sqrt(2.0))); g.drawLine(gap, gap, CanvasWidth - 1 - gap, CanvasHeight - 1 - gap); g.drawLine(CanvasWidth - 1 - gap, gap, gap, CanvasHeight - 1 - gap); } public Dimension minimumSize() { return new Dimension(50, 50); } public Dimension preferredSize() { return minimumSize(); } }