|
Stop! Before you let the whole world know about your applet, make sure the answer to all of the following questions is yes:
1. Have you removed or disabled debugging output?
Debugging output (generally created with System.out.println), while useful to you, is generally confusing or annoying to users. If you need to give textual feedback to the user, try to do it inside the applet's display area or in the status area at the bottom of the window.
2. Does the applet stop running when it's offscreen?
Most applets should not use CPU resources when the browser is iconified or is displaying a page that doesn't contain the applet. If your applet code doesn't launch any threads explicitly, then you're OK.
If your applet code launches any threads, then unless you have a really good excuse not to, you should implement the stop method so that it stops and destroys (by setting to null) the threads you launched.
3. If the applet does something that might get annoyingplay sounds or animation, for exampledoes it give the user a way of stopping the annoying behavior?
Be kind to your users. Give them a way to stop the applet in its tracks, without leaving the page. In an applet that otherwise doesn't respond to mouse clicks, you can do this by implementing the mouseDown method so that a mouse click suspends or resumes the annoying thread. For example:
boolean frozen = false; // an instance variable
public boolean mouseDown(Event e, int x, int y) {
if (frozen) {
frozen = false;
start();
} else {
frozen = true;
stop();
}
return true;
}
The Perfectly Finished Applet
The previous section lists some of the ways you can avoid making your applet's users want to throttle you. This section tells you about some other ways that you can make dealing with your applet as pleasant as possible:
1. Make your applet as flexible as possible. You can often define parameters that let your applet be used in a variety of situations without any rewriting.
2. Make your applet accessible. You can design your applet so that it is accessible to all.
3. Implement the getParameterInfo method. Implementing this method now might make your applet easier to customize in the future. Currently, no browsers use this method. Soon, however, we expect browsers to use this method to help generate a GUI that allows the user to interactively set parameter values.
4. Implement the getAppletInfo method. This method returns a short, informative string describing an applet. Although no browsers currently use this method, we expect them to in the future. Here's an example of implementing getAppletInfo:
public String getAppletInfo() {
return "GetApplets by Clain Brand";
} |