FileDocCategorySizeDatePackage
StandaloneScribble.javaAPI DocExample2793Sat Jun 02 02:44:06 BST 2001None

StandaloneScribble

public class StandaloneScribble extends Applet
An applet that can also run as a standalone application

Fields Summary
protected int
lastx
protected int
lasty
Constructors Summary
Methods Summary
public voidinit()
The init() method. If the program is invoked as an applet, the browser allocates screen space for it and calls this method to set things up

    // Define, instantiate and register a MouseListener object
    this.addMouseListener(new MouseAdapter() {
      public void mousePressed(MouseEvent e) {
        lastx = e.getX();
        lasty = e.getY();
      }
    });

    // Define, instantiate and register a MouseMotionListener object
    this.addMouseMotionListener(new MouseMotionAdapter() {
      public void mouseDragged(MouseEvent e) {
        Graphics g = getGraphics();
        int x = e.getX(), y = e.getY();
        g.setColor(Color.black);
        g.drawLine(lastx, lasty, x, y);
        lastx = x; lasty = y;
      }
    });

    // Create a clear button
    Button b = new Button("Clear");
    // Define, instantiate, and register a listener to handle button presses
    b.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {  // clear the scribble
        Graphics g = getGraphics();
        g.setColor(getBackground());
        g.fillRect(0, 0, getSize().width, getSize().height);
      }
    });
    // And add the button to the applet
    this.add(b);
  
public static voidmain(java.lang.String[] args)
The main() method. If this program is invoked as an application, this method will create the necessary window, add the applet to it, and call init(), below. Note that Frame uses a PanelLayout by default.

    Frame f = new Frame();                     // Create a window
    Applet a = new StandaloneScribble();       // Create the applet panel
    f.add(a, "Center");                        // Add applet to window
    a.init();                                  // Initialize the applet
    f.setSize(400, 400);                       // Set the size of the window
    f.show();                                  // Make the window visible
    f.addWindowListener(new WindowAdapter() {  // Handle window close requests
      public void windowClosing(WindowEvent e) { System.exit(0); }
    });