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