ButtonApp4: ButtonX.java

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
    }
}

[download file]