Java Applets
Java Applets
Java Applets was once a very popular feature of web applications. Java Applets were small
programs written in Java that ran inside a web browser. Learning about Applet helps us
understand how Java has evolved and how it handles graphics.
Note: java.applet package has been deprecated in Java 9 and later versions, as applets are
no longer widely used on the web.
Java Applets
A Java Applet is a Java program that runs inside a web browser. An Applet is embedded in
an HTML file using <applet> or <objects> tags. Applets are used to make the website more
dynamic and entertaining. Applets are executed in a sandbox for security, restricting access
to local system resources.
Key Points:
• Applet Basics: Every applet is a child/subclass of the java.applet.Applet class.
• Not Standalone: Applets don’t run on their own like regular Java programs.
They need a web browser or a special tool called the applet viewer (which
comes with Java).
• No main() Method: Applets don't start with main() method.
• Display Output: Applets don't use System.out.prinln() for displaying the
output, instead they use graphics methods like drawString() from the AWT
(Abstract Window ToolKit).
Java Applet Life Cycle
The below diagram demonstrates the life cycle of Java Applet:
It is important to understand the order in which the various methods shown in the above
image are called.
• When an applet begins, the following methods are called, in this sequence:
o init( )
o start( )
o paint( )
• When an applet is terminated, the following sequence of method calls takes
place:
o stop( )
o destroy( )
Let’s look more closely at these methods.
1. init( ): The init( ) method is the first method to be called. This is where you should
initialize variables. This method is called only once during the run time of your applet.
2. start( ): The start( ) method is called after init( ). It is also called to restart an applet after
it has been stopped.
Note: init( ) is called once i.e. when the first time an applet is loaded whereas start( ) is
called each time an applet’s HTML document is displayed onscreen. So, if a user leaves a
web page and comes back, the applet resumes execution at start( )
3. paint( ): The paint( ) method is called each time an AWT-based applet’s output must be
redrawn. This situation can occur for several reasons. For example, the window in which
the applet is running may be overwritten by another window and then uncovered. Or the
applet window may be minimized and then restored.
• paint( ) is also called when the applet begins execution. Whatever the cause,
whenever the applet must redraw its output, paint( ) is called.
• The paint( ) method has one parameter of type Graphics. This parameter will
contain the graphics context, which describes the graphics environment in which
the applet is running. This context is used whenever output to the applet is
required.
• paint() is the only method among all the methods mention above (which is
parameterized).
This method is crucial for updating or redrawing the visual content of the applet.
Example:
public void paint(Graphics g)
{
// Drawing a string on the applet window
// g is an object reference of class Graphic.
g.drawString("Hello, Applet!", 50, 50);
}
Now the below Question Arises:
In the prototype of paint() method, we have created an object reference without creating its
object. But how is it possible to create object reference without creating its object?
Ans. Whenever we pass object reference in arguments then the object will be provided by
its caller itself. In this case the caller of paint() method is browser, so it will provide an
object. The same thing happens when we create a very basic program in normal Java
programs. For Example:
public static void main(String []args) {
}
Here we have created an object reference without creating its object but it still runs because
it’s caller, i.e. JVM will provide it with an object.
4. stop( ): The stop( ) method is called when a web browser leaves the HTML document
containing the applet, when it goes to another page.
For example: When stop( ) is called, the applet is probably running. You should use stop( )
to suspend threads that don’t need to run when the applet is not visible. You can restart
them when start( ) is called if the user returns to the page.
5. destroy( ): The destroy( ) method is called when the environment determines that your
applet needs to be removed completely from memory. At this point, you should free up any
resources the applet may be using. The stop( ) method is always called before destroy( ).
Key Packages for Java Applets
• java.applet.Applet: Base class for applets.
• java.awt.Graphics: Used for drawing on the applet screen.
• java.awt: Provides GUI components and event-handling mechanisms.
Creating Hello World Applet
Let’s begin with the HelloWorld applet :
import java.applet.Applet;
import java.awt.Graphics;
}
With this approach, first compile HelloWorld.java file and then simply run the below
command to run applet :
appletviewer HelloWorld
To prove above mentioned point,i.e paint is called again and again.
To prove this, let’s first study what is “Status Bar” in Applet?
• Status Bar”is available in the left bottom window of an applet. To use the status
bar and write something in it, we use method showStatus() whose prototype is
public void showStatus(String)
• By default status bar shows “Applet Started”
• By default background color is white.
To prove paint() method is called again and again, here is the code:
Note: This code is with respect to Netbeans IDE.
Example:
//Code to illustrate paint
//method gets called again
//and again
import java.applet.*;
o In the upcoming code, we are going to pass a few parameters like Name,
Age, Sport, Food, Fruit, Destination to the applet using param attribute in
<applet>
o Next, we will retrieve the values of these parameters
using getParameter() method of Applet class.
import java.awt.*;
import java.applet.*;
/*
<applet code="Applet8" width="400" height="200">
<param name="Name" value="Roger">
<param name="Age" value="26">
<param name="Sport" value="Tennis">
<param name="Food" value="Pasta">
<param name="Fruit" value="Apple">
<param name="Destination" value="California">
</applet>
*/
Output
In order to run our applet using the appletviewer, type the following command at the
command prompt-
appletviewer Applet8.java
Where Applet8.java is the name of java file that contains the code of an applet. Right after
running the applet program using appletviewer a new applet window is displayed to us -
o In the upcoming code, we are passing a parameter to the applet and setting
the message on the status bar of the applet window with the value of this
parameter.
o showStatus() method of Applet class is called to set a message on the status
bar of the applet window.
import java.awt.*;
import java.applet.*;
/*
<applet code="Applet11" width="400" height="300">
<param name="StatusBar" value="Have a good day">
*/
Output-
In order to run our applet using appletviewer, type the following command at the
command prompt-
appletviewer Applet11.java
Where Applet11.java is the name of java file that contains the code of an applet.