Overview of Applets |
The Simple applet, like every other applet, features a subclass of the Applet class. The Simple class overrides four Applet methods so that it can respond to major events:public class Simple extends Applet { . . . public void init() { . . . } public void start() { . . . } public void stop() { . . . } public void destroy() { . . . } . . . }
init()
- To initialize the applet each time it's loaded (or reloaded).
start()
- To start the applet's execution, such as when the applet's loaded or when the user revisits a page that contains the applet.
stop()
- To stop the applet's execution, such as when the user leaves the applet's page or quits the browser.
destroy()
- To perform a final cleanup in preparation for unloading.
Not every applet needs to override every one of these methods. Some very simple applets override none of them For example, the "Hello World" applet doesn't override any of these methods, since it doesn't do anything except draw itself. The "Hello World" applet just displays a string once, using its
paint()
method. (Thepaint()
method is described on the following page.) Most applets, however, do more.The
init()
method is useful for one-time initialization that doesn't take very long. In general, theinit()
method should contain the code that you would normally put into a constructor. The reason applets shouldn't usually have constructors is that an applet isn't guaranteed to have a full environment until itsinit()
method is called. For example, the Applet image loading methods simply don't work inside of a applet constructor. Theinit()
method, on the other hand, is a great place to call the image loading methods, since the methods return quickly.Browser note: Netscape Navigator 2.0 and 2.0.1 sometimes call the
init()
method more than once after the applet has been loaded. See the previous page for more details.Every applet that does something after initialization (except in direct response to user actions) must override the
start()
method. Thestart()
method either performs the applet's work or (more likely) starts up one or more threads to perform the work. You'll learn more about threads later in this trail, in Threads in Applets. You'll learn more about handling the events that represent user actions on the next page.Most applets that override
start()
should also override thestop()
method. Thestop()
method should suspend the applet's execution, so that it doesn't take up system resources when the user isn't viewing the applet's page. For example, an applet that displays animation should stop trying to draw the animation when the user isn't looking at it.Many applets don't need to override the
destroy()
method, since theirstop()
method (which is called beforedestroy()
) does everything necessary to shut down the applet's execution. However,destroy()
is available for applets that need to release additional resources.The
init()
,start()
,stop()
, anddestroy()
methods are discussed and used throughout this tutorial. For more information, you can also refer to the Applet API reference page.
Overview of Applets |