import java.awt.*; import java.awt.event.*; import javax.swing.*; public class ButtonFill extends TextButton { private boolean buttonState = false; public ButtonFill (Square square) { super (square, null, "Filled"); } // We override this one public void actionPerformed (ActionEvent e) { buttonState = ! buttonState; if (buttonState) square.doAction (Square.ButtonAction.FILL); else square.doAction (Square.ButtonAction.EMPTY); // Also update button label if (buttonState) setText ("Empty"); else setText ("Filled"); } }