Home Page
>
Deployment
>
Applets
Methods for Drawing and Event Handling
Using the Paint Method
To draw the applet's representation within a browser page, you use the paint method.
For example, the Simple applet defines its onscreen appearance by overriding the paint method:
public void paint(Graphics g) {
//Draw a Rectangle around the applet's display area.
g.drawRect(0, 0,
getWidth() - 1,
getHeight() - 1);
//Draw the current string inside the rectangle.
g.drawString(buffer.toString(), 5, 15);
}
Applets inherit the paint method from the Abstract Window Toolkit (AWT) Container class.
Handling Events
Applets inherit a group of event-handling methods from the Container class.
The Container class defines several methods,
such as processKeyEvent and processMouseEvent,
for handling particular types of events,
and then one catch-all method called processEvent.
To react to an event, an applet must override the appropriate event-specific method.
For example, the following program,
SimpleClick, implements a MouseListener and overrides the mouseClicked method.
/*
* Java(TM) SE 6 version.
*/
import java.awt.event.MouseListener;
import java.awt.event.MouseEvent;
import java.applet.Applet;
import java.awt.Graphics;
//No need to extend JApplet, since we don't add any components;
//we just paint.
public class SimpleClick extends Applet
implements MouseListener {
StringBuffer buffer;
public void init() {
addMouseListener(this);
buffer = new StringBuffer();
addItem("initializing... ");
}
public void start() {
addItem("starting... ");
}
public void stop() {
addItem("stopping... ");
}
public void destroy() {
addItem("preparing for unloading...");
}
void addItem(String newWord) {
System.out.println(newWord);
buffer.append(newWord);
repaint();
}
public void paint(Graphics g) {
//Draw a Rectangle around the applet's display area.
g.drawRect(0, 0,
getWidth() - 1,
getHeight() - 1);
//Draw the current string inside the rectangle.
g.drawString(buffer.toString(), 5, 15);
}
//The following empty methods could be removed
//by implementing a MouseAdapter (usually done
//using an inner class).
public void mouseEntered(MouseEvent event) {
}
public void mouseExited(MouseEvent event) {
}
public void mousePressed(MouseEvent event) {
}
public void mouseReleased(MouseEvent event) {
}
public void mouseClicked(MouseEvent event) {
addItem("click!... ");
}
}
Below is the resulting applet. When you click within its rectangle,
it displays the word "click!...".
Note: If you don't see the applet running above, you need to install Java Plug-in, which happens automatically when you install the Java(TM) SE JRE or JDK. This applet requires JDK 1.4 or later. You can find more information on the Java Plug-in home page.