// Program 15.9: A Customized Panic Component import java.applet.Applet; import java.awt.Graphics; import java.awt.Canvas; import java.awt.Label; import java.awt.Color; import java.awt.Dimension; import java.awt.Event; import java.awt.Font; public class Panic extends Applet { public void init () { add(new Label("Don't Panic")); add(new PanicButton()); } } class PanicButton extends Canvas { int radius = 101; public void paint(Graphics g) { g.setFont(new Font("Helvetica", Font.BOLD, 24)); g.setColor(Color.red); g.fillOval(0, 0, 2*radius, 2*radius); g.setColor(Color.yellow); g.drawString("Panic", 65, radius+12); } public boolean mouseUp(Event e, int x, int y) { // Was the click inside the circle?? if (Math.sqrt( (x-radius)*(x-radius) + (y-radius)*(y-radius)) <= radius) { System.exit(1); return true; } else { return false } } public Dimension minimumSize() { return new Dimension(2*radius,2*radius); } public Dimension preferredSize() { return minimumSize(); } }