import java.awt.*; import java.awt.event.*; import javax.swing.*; public class ButtonX extends TextButton { private boolean buttonState = false; public ButtonX (Model model) { super (model, null, "X"); } // We override this one, and don't use our ButtonAction public void actionPerformed (ActionEvent e) { //*1 We override callback buttonState = ! buttonState; //*1 model.setX (buttonState); //*1 } }