import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
public class ButtonFill extends JButton implements ActionListener {
private Square square;
private boolean buttonState = false;
public ButtonFill (Square square) {
this.square = square;
setText ("Filled");
setFont (new Font("SansSerif", Font.ITALIC, 14));
setForeground (Color.BLUE);
setBorder (new LineBorder(Color.GREEN, 2));
addActionListener (this);
}
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");
}
}