import java.awt. *;

public class Controls extends java.awt.Panel
{

// builds up user interface panel

  private Label a1, a2;
  private TextField a1_value, a2_value;
  private Button compute_button;
  private ComputeMap com_ref;
  private BifurcateApplet app_ref;

    Controls (ComputeMap ref, BifurcateApplet ref2)
  {
    a1 = new Label ("a_1 =");
    a1_value = new TextField ("0.0", 6);
    a2 = new Label ("a_2 =");
    a2_value = new TextField ("4.0", 6);

    compute_button = new Button ("Go");

    setBackground (Color.yellow);
    add (compute_button);
    add (a1);
    add (a1_value);
    add (a2);
    add (a2_value);
    com_ref = ref;
    app_ref = ref2;
  }

// handle changes

  private double myformat (double x, int n)
  {
    double d;
    int i;
      d = x * n;
      i = (int) d;
      d = (double) i / (double) n;
      return (d);
  }

  public boolean action (Event evt, Object arg)
  {
    int i;
    double d;

    if (evt.target instanceof Button)
      {
	app_ref.runner.resume ();
	return true;
      }

    else if (evt.target instanceof TextField)
      {

	if (evt.target.equals (a1_value))
	  {
	    d = (Double.valueOf (a1_value.getText ().trim ())).doubleValue ();
	    com_ref.setA1 (d);
	  }
	if (evt.target.equals (a2_value))
	  {
	    d = (Double.valueOf (a2_value.getText ().trim ())).doubleValue ();
	    com_ref.setA2 (d);
	  }

      }
    return false;
  }

}

