Managing Event, Pop-up, check box, label and Handling Event
model-view observer <- interface requires update method Observer <- abstract class Example class Observer Int extends Observable { int value; . . . setValue( ); getValue( ); i.setValue(i.getValue( ) + 1);// corresponding to C code i=i+1; } Managing Event Events are apart AWT mouse down mouse up mouse rotation keyboard action Example public Boolean mouseDown(Event e, int x, int y){ anchor = new Point(x, y); return true; } Point anchor; Example public Boolean mouseUp(Event e, int x, int y){ Point rmove = new Point(x - anchor.x, anchor.y - y); String objectString = objectMoveChoice.getSelectedItem( ); if(objectString.equals("Camera")){ Repaint( ); return true; } if(objectString.equals("Camera")){ Camera c = (Camera)Camera; c.auto_Pan = ap_cb.getState( ); C.change_config( rmove ); compute_ranges( ); Repaint( ); return true; } Pop-Up Option Example public class SimpleDraw extends Applet{ Choice objectMoveChoice; } public void add_move_choice_menu( ){ objectMoveChoice = new choice( ); objectMoveChoice.addItem("Object Properties"); add(objectMoveChoice); } Example(submethod) public void create_gui( ){ setBackground(color.white); add_check_boxes( ); add_label_scrollbars( ); add_move_comemenu( ); Adding Check Box Example checkbox ap_cb = new checkbox("auto_Pan", null, true); //if ap_cb getState( ) checkbox checkboxes[ ]{ ap_cb, ,}; //store into array public void add_checkBoxes( ){;//add check box for(int i=0; i<checkboxes.length; i++){ add(checkBoxes[i]); } Adding Label Example public void add_labels_add_scrollbars( ){ add(new Label("Rho")); rho_l = new Label("45"); rho_scrollbars = new ScrollBar(ScrollBar.VERTICAL, set.length.VERTICAL(VX)); add(rho_l); add(rho_scrollbars); } Handling Event Example public Boolean handling_ScrollBar(Event 'e'){ double f= f_scrollbars.getValue( )/100; f_l.setText(String ValueOf(f)); c.F = f; return true; } Example public Boolean handling Event(Event 'e'){ if (e.target instanceOfScrollBar){ return_handel_ScrollBar(e); } return Super.handelEvent(e); }
Homework use code that you wrote last time to add check box to select prof's face, to add pop up menu to select background some colors, to add scroll bar to translate prof's move with your motion.