REW

What Is Invoked Just After The Start Method In Applet?

Published Aug 29, 2025 4 min read
On this page

The paint() method is invoked immediately after the start() method in the applet lifecycle. The paint() method is responsible for rendering the applet's visual content, such as drawing graphics, displaying text, or updating the user interface.

Comprehensive breakdown of the applet life cycle

Understanding the applet life cycle is crucial for developing applets, as it dictates the order and conditions under which key methods are called.

1. init(): The initialization phase

The init() method is the first method to be called, and it runs only once during the applet's entire life cycle. It is used for performing initial setup and configuration, such as:

  • Initializing variables
  • Instantiating objects
  • Setting up the applet's GUI components
  • Loading any necessary data or resources

Example:

public void init() {
    // Initialization code, like setting the background color or adding components
    setBackground(Color.cyan);
}

Use code with caution.

2. start(): The starting phase

After init() completes, the start() method is called. It is invoked whenever the applet becomes active or visible. This can happen in several situations:

  • When the applet is first loaded
  • When the user navigates back to the page containing the applet
  • When the browser window is restored after being minimized

The start() method is where the applet's primary execution begins. For instance, it is typically used to start animations or background threads that require continuous processing.

Example:

public void start() {
    // Start any threads or animations
    if (animationThread == null) {
        animationThread = new Thread(this);
        animationThread.start();
    }
}

Use code with caution.

3. paint(): The drawing and rendering phase

Immediately after start() is invoked, the paint() method is called. It is also called any time the applet needs to be redrawn, such as when:

  • The applet is initially displayed
  • The browser window is resized
  • The applet window is brought back to the foreground after being obscured
  • The applet needs to be repainted programmatically, usually triggered by calling repaint()

The paint(Graphics g) method takes a Graphics object as a parameter, which provides the necessary methods for drawing shapes, text, and images on the applet's surface.

Example:

public void paint(Graphics g) {
    // Drawing graphics, text, and shapes
    g.setColor(Color.red);
    g.drawString("Welcome to the Applet!", 20, 20);
}

Use code with caution.

4. stop(): The pausing phase

The stop() method is called when the applet is no longer visible or active. This gives the applet an opportunity to pause any ongoing operations and release system resources. This can happen when:

  • The user navigates away from the web page containing the applet
  • The browser window is minimized or iconified

This method is designed to be called multiple times during the applet's life and should suspend, rather than terminate, execution.

Example:

public void stop() {
    // Stop any running animations or threads to save resources
    if (animationThread != null) {
        animationThread.stop();
        animationThread = null;
    }
}

Use code with caution.

5. destroy(): The termination phase

The destroy() method is the final method called in the applet's life cycle. It is invoked only once, just before the applet is completely unloaded from memory. It is preceded by a call to stop().

The destroy() method is used to perform final cleanup tasks, such as:

  • Releasing system resources
  • Closing file handles or network connections
  • Performing any necessary finalization before the applet object is garbage collected

Example:

public void destroy() {
    // Release any resources like file handles or network connections
}

Use code with caution.

The sequence of applet method calls

The following diagram summarizes the flow of method calls during an applet's execution:

  1. Loading: The web browser or applet viewer loads the applet's class file.
  2. init(): The init() method is called once to initialize the applet.
  3. start(): The start() method is called to begin execution.
  4. paint(): The paint() method is called to draw the applet's initial state.
  5. Running: The applet continues to execute, potentially with repeated calls to paint() whenever the display needs updating.
  6. stop(): If the applet becomes inactive, the stop() method is called.
  7. Return: If the applet becomes active again, start() is called, followed by paint().
  8. Unloading: When the applet is to be removed, stop() is called (if not already paused).
  9. destroy(): The destroy() method is called to clean up.
Enjoyed this article? Share it with a friend.