package graphics.carl;

//package runJgui;


public abstract class ToggleCommandButton
    extends CommandButton {
  // inherits a need for "gui.run()" from graphics.carl.CommandButton
  // to become concrete class
  private boolean toggled = false;
  private String s[] = new String[2];

  public ToggleCommandButton(String s0, String s1) {
    super(s0);
    s[0] = s0;
    s[1] = s1;
  }

  public void actionPerformed(java.awt.event.ActionEvent e) {
    toggled = !toggled;
    if (toggled)
      setText(s[1]);
    else
      setText(s[0]);
    System.out.println("label=" + getText());
    super.actionPerformed(e);
  }

  public boolean isSelected() {
    return toggled;
  }

  // main for testing and demo purposes only
  public static void main(String args[]) {
    System.out.println("Testing graphics.carl.ToggleCommandButton via main");
    java.awt.Frame f = new java.awt.Frame();
    f.setLayout(new java.awt.GridLayout(1, 0));
    ToggleCommandButton
        tcb = new
            ToggleCommandButton("Toggle off", "Toggle On") {
              public void run() {
                System.out.println("gui.run in tcb");
                if (this.isSelected())
                  setBackground(java.awt.Color.blue);
                else
                  setBackground(java.awt.Color.green);
              }
            };
    f.add(tcb);
    f.setSize(200, 200);
    f.setBackground(java.awt.Color.red);
    f.show();
  }
}