import java.awt.Color; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; /** * TODO Auto-generated class description. * * @author David Mutchler and many others before him. * Created November 2004, updated August 2005 and September 2008. */ public class StopButton extends JButton implements ActionListener { private static final Color DEFAULT_COLOR = Color.MAGENTA; private AnimatedPanel squarePanel; // The panel to be animated /** * Construct the button using the given name * and store the given AnimatedPanel. * Set the button's background to the default. * Ask the button to respond to its own button-presses. * * @param title The name to be used as the label for the button. * @param panel The panel to be stopped by pressing this button. */ public StopButton(String title, AnimatedPanel panel) { super(title); this.squarePanel = panel; this.setBackground(StopButton.DEFAULT_COLOR); this.addActionListener(this); } /** * Stop the animation in this button's associated AnimatedPanel. * * @param event ActionEvent that the button experienced (presumably a button-press). */ public void actionPerformed(ActionEvent event) { this.squarePanel.stop(); } }