Introduction to Interactive Programming
by Lynn Andrea Stein
A Rethinking CS101 Project

Applets

An applet is a piece of Java code that can be run under certain network browsers (and appletviewer, a Java program). Applets are embedded in html and invoked by viewing the page (or running appletviewer on the page). Every applet extends java.applet.Applet, which in turn extends java.awt.Panel. When an applet is invoked, an instance is created (i.e., its constructor is called). No arguments are supplied to the constructor; instead, there is html syntax for providing parameters to applets. At applet creation time, three methods are called in sequence:

  1. the applet's constructor
  2. the applet's public void init() method.
  3. the applet's public void start() method.

Each of these is provided by java.applet.Applet, but can be overridden by the subclass. The init method will be called exactly once. The start method may be called repeatedly, e.g., each time the applet scrolls off of and then back on to the page. Applets also inherit stop and destroy methods (both public void, no parameters) which are called when the applet temporarily disappears or is permanently removed, respectively. It is conventional to start and stop any Threads that the applet uses in the applet's start and stop methods. In this sense, start serves some of the role of public static void main( String[] ) in standalone Java applications. (Other parts of that role may be played by init or even by the constructor.)

The primary differences between applets and standalone applications are:

Other than this information, applets are largely outside the scope of this course.

© 2003 Lynn Andrea Stein

This chapter is excerpted from a draft of Introduction to Interactive Programming In Java, a forthcoming textbook. It is a part of the course materials developed as a part of Lynn Andrea Stein's Rethinking CS101 Project at the Computers and Cognition Laboratory of the Franklin W. Olin College of Engineering and formerly at the MIT AI Lab and the Department of Electrical Engineering and Computer Science at the Massachusetts Institute of Technology.

Questions or comments:
<[email protected]>

cs101 icon