This lesson talks about the basics of applets, advantages of applets over applications, how to load applets in a web page, how to convert applications to applets and how applets work. You should thoroughly understand this lesson before going further in this trail.
An applet is a special kind of Java program that a browser enabled with Java
technology can download from the internet and run.
An applet is typically embedded inside a web-page and runs in the
context of the browser. An applet must be a subclass of the
java.applet.Applet class, which provides the standard
interface between the applet and the browser environment.
Swing provides a special subclass of Applet, called
javax.swing.JApplet, which should be used for all
applets that use Swing components to construct their GUIs.
By calling certain methods, a browser manages an applet life cycle,
if an applet is loaded in a web page.
Life Cycle of an Applet: Basically,
there are four methods in the init: This method is intended for whatever initialization is needed for your applet. It is called after the param attributes of the applet tag.
start: This method is automatically called after init method. It is also called whenever user returns to the page containing the applet after visiting other pages.
stop: This method is automatically called whenever the user moves away from the page containing applets. You can use this method to stop an animation.
destroy: This method is only called when the browser shuts down normally.
Applet class on which any applet is built.
Thus, the applet can be initialized once and only once, started and stopped one or more times in its life, and destroyed once and only once.
For more information on Life Cylce of an Applet, please refer to
The Life Cycle of an Applet
When to write Applets vs. Applications
In the early days of Java, one of the critical advantages that Java applets had over Java applications was that applets could be easily deployed over
the web while Java applications required a more cumbersome installation process. Additionally, since applets are downloaded from the internet, by default they have to run in a restricted security environment, called the "sandbox", to ensure they don't perform any destructive operations on the user's computer, such as reading/writing to the filesystem.
However, the introduction of
Java Web Starthas made it possible for Java applications to also be easily deployed over the web, as well as run in a secure environment. This means that the predominant difference between a Java applet and a Java application is that an applet runs in the context of a web browser, being typically embedded within an html page, while a Java application runs standalone, outside the browser. Thus, applets are particularly well suited for providing functions in a web page which require more interactivity or animation than HTML can provide, such as a graphical game, complex editing, or interactive data visualization. The end user is able to access the functionality without leaving the browser.
Loading Applets in a Web Page
In order to load an applet in a web page, you must specify the applet class with appropriate applet tags. A simple example is below:
<applet code=AppletWorld.class width="200" height="200">
For development and testing purposes, you can run your applet using the lightweight appletviewer application that comes with the JDK. For example, if
AppletWorld.html is the html file name, then you run the command as
Once you know your applet runs within the appletviewer, it is important to test your applet running in a web browser by loading the applet's web page into the browser window. The browser can retrieve the class files either from the internet or from the local working directory used during development. If you make changes to your applet's code while it is loaded in the browser, then you must recompile the applet and press the "Shift + Reload" button
in the browser to load the new version.
This section tells you how applets work. When you want a program to run directly in a browser window, you want an applet.
This section describes how to use the API to which only applets have access. It covers sound, applet parameters, the
<APPLET> tag, interapplet communication, and making requests to the browser.
This section discusses topics that are covered elsewhere in this tutorial but that are affected by the applet environment. For example, it mentions some factors you should consider when writing the graphical user interface (GUI) for your applet. It also talks about security restrictions on applets and how a server-side application can help you
get around those restrictions.
This section describes the characteristics of a high-quality applet.
It includes Before You Ship That Applet,
a checklist of some annoying behaviors you should avoid in your applet.
This section explains to HTML authors how and when to use the
embed tags to add Java applets to Web pages.
This section explains the solutions to some problems you might run into while writing your applet.
Test what you've learned about applets.
This lesson is intended to get you started with applets and Java Plug-in and does not include all available documentation. For more information about applets, see the following: