import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class ButtonFill extends TextButton {
private boolean buttonState = false; //*2 We remember current state, so can toggle it
public ButtonFill (Square square) {
super (square, null, "Filled"); //*1 Supply relevant args to superclasses
}
// We override this one
public void actionPerformed (ActionEvent e) { //*3 We override callback
buttonState = ! buttonState; //*2
if (buttonState) square.doAction (Square.ButtonAction.FILL); //*3
else square.doAction (Square.ButtonAction.EMPTY); //*3
// Also update button label
if (buttonState) setText ("Empty"); //*4 Also update button label
else setText ("Filled"); //*4
}
}