Scribblepublic class Scribble extends Applet
Fields Summary |
---|
private int | last_x | private int | last_y | private Color | current_color | private Button | clear_button | private Choice | color_choices |
Methods Summary |
---|
public boolean | action(java.awt.Event event, java.lang.Object arg)
// If the Clear button was clicked on, handle it.
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;
}
// Otherwise if a color was chosen, handle that
else if (event.target == color_choices) {
if (arg.equals("black")) current_color = Color.black;
else if (arg.equals("red")) current_color = Color.red;
else if (arg.equals("yellow")) current_color = Color.yellow;
else if (arg.equals("green")) current_color = Color.green;
return true;
}
// Otherwise, let the superclass handle it.
else return super.action(event, arg);
| public void | init() // The color dropdown list.
// This method is called to initialize the applet.
// Applets don't have a main() method.
// Set the background color
this.setBackground(Color.white);
// Create a button and add it to the applet. Set the button's colors
clear_button = new Button("Clear");
clear_button.setForeground(Color.black);
clear_button.setBackground(Color.lightGray);
this.add(clear_button);
// Create a menu of colors and add it to the applet.
// Also set the menus's colors and add a label.
color_choices = new Choice();
color_choices.addItem("black");
color_choices.addItem("red");
color_choices.addItem("yellow");
color_choices.addItem("green");
color_choices.setForeground(Color.black);
color_choices.setBackground(Color.lightGray);
this.add(new Label("Color: "));
this.add(color_choices);
| public boolean | mouseDown(java.awt.Event e, int x, int y)
last_x = x; last_y = y;
return true;
| public boolean | mouseDrag(java.awt.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;
|
|