import java.applet.*; import java.awt.*; public class Scrib extends Applet { private int last_x=0; private int last_y=0; private Color current_color=Color.black; private Button clear_button; private Choice color_choices; //init applet public void init(){ //set backgd color this.setBackground(Color.white); //create a button clear_button=new Button("Clear"); clear_button.setForeground(Color.black); clear_button.setBackground(Color.lightGray); this.add(clear_button); //create menu of colors color_choices=new Choice(); color_choices.addItem("black"); color_choices.addItem("red"); color_choices.setForeground(Color.black); color_choices.setBackground(Color.lightGray); this.add(new Label("Color:")); this.add(color_choices); } //end init applet //called when mouse click public boolean mouseDown(Event e, int x, int y){ last_x=x; last_y=y; return true; } //called when mouse moves public boolean mouseDrag(Event e, int x, int y){ Graphics g=this.getGraphics(); g.setColor(current_color); g.drawLine(last_x,last_y,x,y); last_x=x; last_y=y; return true; } //user clicks button or chooses a color public boolean action(Event event, Object arg){ // in case of click if(event.target==clear_button){ Graphics g=this.getGraphics(); Rectangle r=this.bounds(); g.setColor(this.getBackground()); g.fillRect(r.x,r.y,r.width,r.height); return true; } // else do else if(event.target==color_choices){ if(arg.equals("black")) current_color=Color.black; else if(arg.equals("red")) current_color=Color.red; return true; } // Otherwise let the superclass handle it. else return super.action(event, arg); } }