Open In App

Life Cycle of Java Applet

Last Updated : 05 Feb, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report

An applet is a Java program that can be embedded into a web page. It runs inside the web browser and works on the client side. An applet is embedded in an HTML page using the APPLET or OBJECT tag and hosted on a web server. The Applet Container manages the entire life cycle of an applet. All applets are sub-classes (either directly or indirectly) of java.applet.Applet class. Applets are not stand-alone programs. They run either within a web browser or an applet viewer. 

Note:
Java applet is deprecated because it's no longer widely used on the web. The popularity of applets  has decreased over the years as browser support for applets has declined, and more advanced  technologies such as web-based applications and JavaScript have become more prevalent.  Additionally, applets are considered a security risk as they can execute arbitrary code on the  client machine, and many browsers now disable them by default. As a result, Java's applet  technology is no longer seen as a valuable feature for Java developers and is removed from the  newer versions of Java.

Life-Cycle-of-Java-Applet

We can view our Applet with the help of a standard applet viewer tool called Applet Viewer. Unlike the general executions and outputs of the java programs, applet execution does not begin at main() method, and the output of an applet window is not catered by System.out.println(). Rather it is handled with various Abstract Window Toolkit (AWT) methods, such as drawString().

Let us do see a hierarchy of Applet before landing up on stages in the lifecycle of the java applet that is as follows in the below media:

Java Applet Lifecycle

Stages in the Life Cycle of Java Applet

  • Initializing an Applet
  • Starting the Applet
  • Painting the Applet
  • Stopping the Applet
  • Destroying the Applet

In order to implement the Applet we need to import awt package,

java.awt.applet.*;

Life Cycle of Applet

Step 1: Initialization

Syntax of init():

public void init()

There is no main method unlike our normal java programs. Every Applet will start it's execution from init() method. It is executed only once

Step 2: Start

Syntax of start():

public void start()

After init() method start() method is invoked. Executed when the browser is maximized

Step 3: Paint

Syntax of paint():

public void paint (Graphics g)

Paint method is used to display the content on the applet. We can create the objects or components to the applet or we can directly write a message on the applet. It will take Graphics class as a parameter.

Step 4: Stop

Syntax of stop():

public void stop()

stop() method is used to stop the applet. It is executed when the browser is minimized.

Step 5: Destroy

Syntax of Destroy():

public void destroy()

destroy() method is used to completely close the applet. It is executed when the applet is closed.

Java Applet Implementation

Implementation of java Applet can be done in two ways as follows:

  1. Using HTML file
  2. Applet viewer tool

Way 1: Using HTML file

<HTML>

<applet>

code,width,height

</applet>

</HTML>

Note: Drawbacks of using HTML file is you need a plugin (java plugin) to run it on your browser.

Way 2: Applet viewer tool 

Java Applet Life Cycle Methods

There are five methods of an Applet Life Cycle namely; 

  1. init()
  2. start()
  3. paint()
  4. stop()
  5. destroy()
Applet-Lifecycle-Methods

All these are available in AWT Packagejava.awt.applet.* and in order ton import paint (Graphics g) we do use  java.awt.component package 

Let's understand each method in a detailed manner :

1. init()  

  • This is the first method to be called
  • Variables can be initialized here
  • This method can be called only once during the run time of the applet
  • It is invoked at the time of Initialization

Syntax of init(): 

public void init()

{

// To initialize objects

}

2. start()  

  • This method is called after init() method
  • start() method is used for starting the applet
  • It is also called to restart an applet after it has been stopped. i.e. to resume the applet

Syntax of start(): 

public void start()

{

// To start the applet code

}

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.

3. paint() 

void paint(Graphics g){ }

  • paint() method is used for painting any shapes like square, rectangle, trapeziums, etc.
  • paint() method has one parameter of type Graphics Class, this Graphics class enables the painting features in an applet.
  • This parameter will contain the graphics context, which is used whenever output for the applet is required.

Syntax of paint(): 

public void paint(Graphics graphics)

{

// Any shape's code

}

Note: This is the only method among all the method mention above, which is parameterized. 

4. stop() 

  • It is invoked every time the browser is stopped, minimized or when there is an abrupt failure in the application.
  • After stop()method called, we can also use start() method whenever we want.
  • This method mainly deals with clean up code.
  • 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.

Syntax of stop(): 

public void stop()

{

// To stop the applet code

}

5. destroy() 

  • destroy() method is used to destroy the application once we are done with our applet work. It can be invoked only once.
  • Once applet is destroyed we can’t start() the applet (we cannot restore the applet again)
  • The destroy( ) method is called when the environment determines that your applet needs to be removed completely from memory.

Syntax of destroy(): 

public void destroy()

{

// To destroy the applet

}

Note: The stop( ) method is always called before destroy( )

Steps-of-Lifecycle


Syntax: Entire Applet Life Cycle 

Java
Class AppletLifeCycle extends Applet
{
    public void init()
    {
        // Initializes objects
    }
    public void start()
    {
        // Starts the applet code
    }
    public void paint(Graphics graphics)
    {
        // Any shape's code
    }
    public void stop()
    {
        // Stops the applet code
    }
    public void destroy()
    {
        // Destroys the applet code
    }
}

 
Implementation: 

Example 1: In order to begin with Java Applet, let's understand a simple code to make the Applet  

Java
// Java Program to Make An Applet

// Importing required classes from packages 
import java.awt.*;
import java.awt.applet.*;

// Class 1
// Helper class extending Applet class 
public class AppletDemo extends Applet

// Note: Every class used here is a derived class of applet,
// Hence we use extends keyword Every applet is public
{
    public void init()
    {
        setBackground(Color.black);
        setForeground(Color.yellow);
    }
    public void paint(Graphics g)
    {
        g.drawString("Welcome", 100, 100);
    }
}

// Save file as AppletDemo.java in local machine 
HTML
<html>
  <applet code = AppletDemo
          width = 400
          height = 500>
    </applet>
  </html>
<!-- Save as Applet.html -->

Compilation methods

Now in order to generate output, do follow below undersigned to compile and run the above file:

  • Method 1: Using command
  • Method 2: Include the applet code in our java program.

Method 1: Using the command

Compilation:

c:> javac.AppletDemo.java

Execution:

Double click on Applet.html

This won't work on browser as we don't have the proper plugins.

Method 2: Include the applet code in our java program make sure to put this html applet code as comments as it is important evil as demonstrated below as follows:

Example:

Java
// Java Program to Illustrate Insertion of HTML File in
// Applet As Commands

// Importing required classes
import java.applet.*;
import java.awt.*;

// Note: Insertion of HTM:L file as comments

/* <applet code = AppletDemo width=400 height=500>
</applet>*/

// Java Program

// Class extending Applet
public class AppletDemo extends Applet {
    public void init()
    {
        setBackground(Color.black);
        setForeground(Color.yellow);
    }
    public void paint(Graphics g)
    {
        g.drawString("Welcome to Applets", 50, 50);
    }
}

 
Compilation: 

c:\> javac AppletDemo.java

Execution: 

c:\> appletviewer AppletDemo.java


Next Article
Practice Tags :

Similar Reads