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

