StandaloneScribblepublic class StandaloneScribble extends Applet An applet that can also run as a standalone application |
Fields Summary |
---|
protected int | lastx | protected int | lasty |
Methods Summary |
---|
public void | init()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 void | main(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); }
});
|
|