// // $Id: Bezier.java,v 1.5 1997/03/03 20:28:02 min Exp min $ // package bezier; import java.awt.*; import java.applet.*; import java.lang.*; import java.util.*; import myutil.*; public class Bezier extends Applet { private Checkbox display_hull; private TextField user_info = new TextField ("Left click = add point, Middle click = toggle points display, Right click = delete point, Mouse drag = move point"); private Checkbox display_hint; private Button clear_button = new Button("Clear"); private Font my_font = new Font("Helvetica", Font.BOLD, 12); private BezierCanvas my_canvas; private int width; private int height; public void init() { display_hull = new Checkbox("Display convex hull"); display_hull.setFont(my_font); user_info.setFont(my_font); user_info.setEditable(false); display_hint = new Checkbox("Display C1 continuity hint"); display_hint.setFont(my_font); clear_button.setFont(my_font); LayoutManager my_layout = new GridBagLayout(); this.setLayout(my_layout); Constrainer my_constraints = new Constrainer(); Panel button_panel = new Panel(); button_panel.setLayout(my_layout); // top line, text & 2 checkboxes my_constraints.constrain(button_panel, user_info, 0, 0, 3, 1, GridBagConstraints.NONE, GridBagConstraints.CENTER, 0.3, 0, 0, 0, 0, 0); my_constraints.constrain(button_panel, display_hull, 0, 1, 1, 1, GridBagConstraints.NONE, GridBagConstraints.CENTER, 0.3, 0, 0, 0, 0, 0); my_constraints.constrain(button_panel, display_hint, 1, 1, 1, 1, GridBagConstraints.NONE, GridBagConstraints.CENTER, 0.3, 0, 0, 0, 0, 0); my_constraints.constrain(button_panel, clear_button, 2, 1, 1, 1, GridBagConstraints.NONE, GridBagConstraints.CENTER, 0.3, 0, 0, 0, 0, 0); my_constraints.constrain(this, button_panel, 0, 0, 3, 2, GridBagConstraints.HORIZONTAL, GridBagConstraints.NORTHWEST, 1.0, 0.0, 5, 0, 5, 0); my_canvas = new BezierCanvas(); my_constraints.constrain(this, my_canvas, 0, 2, 3, 3, GridBagConstraints.BOTH, GridBagConstraints.NORTHWEST, 1.0, 1.0, 0, 0, 0, 0); this.show(); } // init public String getAppletInfo() { return "Bezier curves v1.0 by Patrick Min, min@cs.princeton.edu\n$Id: Bezier.java,v 1.5 1997/03/03 20:28:02 min Exp min $"; } // getAppletInfo public void paint(Graphics g) { my_canvas.paint(g); } // paint public boolean action(Event e, Object arg) { if (e.target == display_hull) { my_canvas.toggle_hull(); my_canvas.paint(); return true; } else if (e.target == display_hint) { my_canvas.toggle_hint(); my_canvas.paint(); } else if (e.target == clear_button) { my_canvas.clear(); my_canvas.paint(); } return false; } // action } // Bezier applet