Applet is a special type of program that is embedded in the webpage to generate the dynamic content. It runs inside the browser and works at client side.

    An applet is a Java class that extends the java.applet.Applet class.
    A main() method is not invoked on an applet, and an applet class will not define main().
    Applets are designed to be embedded within an HTML page.
    When a user views an HTML page that contains an applet, the code for the applet is downloaded to the user's machine.
    A JVM is required to view an applet. The JVM can be either a plug-in of the Web browser or a separate runtime environment.
    The JVM on the user's machine creates an instance of the applet class and invokes various methods during the applet's lifetime.
    Applets have strict security rules that are enforced by the Web browser. The security of an applet is often referred to as sandbox security, comparing the applet to a child playing in a sandbox with various rules that must be followed.
    Other classes that the applet needs can be downloaded in a single Java Archive (JAR) file.


Advantage of Applet

There are many advantages of applet. They are as follows:

    It works at client side so less response time.
    Secured
    It can be executed by browsers running under many plateforms, including Linux, Windows, Mac Os etc.


Drawback of Applet

    Plugin is required at client browser to execute applet.


Life Cycle of an Applet

Four methods in the Applet class gives you the framework on which you build any serious applet −

    init − This method is intended for whatever initialization is needed for your applet. It is called after the param tags inside the applet tag have been processed.
    start − This method is automatically called after the browser calls the init method. It is also called whenever the user returns to the page containing the applet after having gone off to other pages.
    stop − This method is automatically called when the user moves off the page on which the applet sits. It can, therefore, be called repeatedly in the same applet.
    destroy − This method is only called when the browser shuts down normally. Because applets are meant to live on an HTML page, you should not normally leave resources behind after a user leaves the page that contains the applet.
    paint − Invoked immediately after the start() method, and also any time the applet needs to repaint itself in the browser. The paint() method is actually inherited from the java.awt.

Syntax -
import java,awt.*;
import java.applet.*;
public class Demo extends Applet{
    public void init(){

    }
    public void start(){

    }
    public void stop(){

    }
    public void destroy(){

    }
}

How to run applet file


    Save file - Demo.java
    run file - javac Demo.java
                  appletviewer Demo.java


String 

    Draw String is used to draw the specified string. Hello World print in applet viewer. "drawString(String str, int x, int y)"

Example -
String.java
import java.awt.*;
import java.applet.*;
public class String extends Applet{
public void paint(Graphics g){
g.drawString("Hello World",50,100);
}
}
//<applet code="String.class" width=500 height=500></applet>

Output - 
    Hello World

Rectangle

    Draws a rectangle with the specified width and height. "drawRect(int x, int y, int width, int height)"

Example -
import java.awt.*;
import java.applet.*;
public class Rect extends Applet{
public void paint(Graphics g){
g.drawRect(50,100,100,30);
}
}
//<applet code="Rect.class" width=500 height=500></applet>

 

FillRect

    Draws a fill Ract is used to fill rectangle with the default color and specified width and height. "fillRect(int x, int y, int width, int height)" 


Oval

    Oval is used to draw oval with the specified width and height. "drawOval(int x, int y, int width, int height)"

Example -
import java.awt.*;
import java.applet.*;
public class Oval extends Applet{
public void paint(Graphics g){
g.drawOval(50,100,100,100);
}
}
//<applet code="Oval.class" width=500 height=500></applet>


FillOval

    Fill Oval is used to fill oval with the default color and specified width and height.
"fillOval(int x, int y, int width, int height)"

Example -