Ad

Java Applets

Applets are small java programs developed for internet applications. An applet located on a server can be downloaded via Internet and executed on a local computer (client), they can be run using appletviewer command on any web browser that supports java. Like, any application program applet can perform arithmetic operations, display graphics, play sounds, accept user input, create animation and play interactive games. Java applets make a significant impact on World Wide Web.

Limitation of applet over application program

  1. Applet do not use main () method for initiating the execution of the code.
  2. Applet cannot be run independently, they run using HTML tags.
  3. Applet cannot read or write to the files.
  4. Applet cannot communicate with other server on the network.
  5. Applet cannot run any program from the local computer.

Disadvantages of using Applets:

  1. Unlike stand alone application, applet cannot run independently. They are run from inside a web page using a special feature known as HTML tag.
  2. Applet cannot read from or write to the file in the local computer.
  3. Applet cannot communicate with the other server.
  4. Applet cannot run any program from local computer.
  5. Applets are restricted from using library from the other languages such as C or C++.

Use of Applets:

  1. When we want to display web page dynamic.
  2. When we require some flash outputs like produce sounds, animations or other effects.
  3. When we want to create a program on the internet.
  4. It can be executed by browsers on many platforms, including Linux, Windows, Mac Os etc.

Applet Life Cycle:

  1. Born or Initialization state (init).
  2. Running state (paint).
  3. Idle state
  4. Dead or destroyed state.

For creating any applet, java.applet.Applet class must be inherited. It provides 4 life cycle methods:

  1. public void init(): is used to initialized the Applet. It is invoked only once.
  2. public void start(): is invoked after the init() method or browser is maximized. It is used to start the Applet.
  3. public void stop(): is used to stop the Applet. It is invoked when Applet is stop or browser is minimized.
  4. public void destroy(): is used to destroy the Applet. It is invoked only once.

java.awt.Component class

The Component class provides 1 life cycle method of applet.

  1. public void paint(Graphics g): is used to paint the Applet. It provides Graphics class object that can be used for drawing oval, rectangle, arc etc.

Simple example of Applet by html file:

//First.java
import java.applet.Applet;  
import java.awt.Graphics;  
public class First extends Applet {
    public void paint(Graphics g) {
        g.drawString("welcome",150,150);
    }
}
//First.html
<html>  
    <body>  
        <applet code="First.class" width="300" height="300"> </applet>  
    </body>  
</html>  
To Run program: type in command prompt: appletviewer First.html

Displaying Graphics in Applet

java.awt.Graphics class provides many methods for graphics programming. Commonly used methods of Graphics class:

  1. public abstract void drawString(String str, int x, int y): is used to draw the specified string.
  2. public void drawRect(int x, int y, int width, int height): draws a rectangle with the specified width and height.
  3. public abstract void fillRect(int x, int y, int width, int height): is used to fill rectangle with the default color and specified width and height.
  4. public abstract void drawOval(int x, int y, int width, int height): is used to draw oval with the specified width and height.
  5. public abstract void fillOval(int x, int y, int width, int height): is used to fill oval with the default color and specified width and height.
  6. public abstract void drawLine(int x1, int y1, int x2, int y2): is used to draw line between the points(x1, y1) and (x2, y2).
  7. public abstract boolean drawImage(Image img, int x, int y, ImageObserver observer): is used draw the specified image.
  8. public abstract void drawArc(int x, int y, int width, int height, int startAngle, int arcAngle): is used draw a circular or elliptical arc.
  9. public abstract void fillArc(int x, int y, int width, int height, int startAngle, int arcAngle): is used to fill a circular or elliptical arc.
  10. public abstract void setColor(Color c): is used to set the graphics current color to the specified color.
  11. public abstract void setFont(Font font): is used to set the graphics current font to the specified font.

Example of Graphics in applet:

//GraphicsDemo.java
import java.applet.Applet;
import java.awt.*;
public class GraphicsDemo extends Applet{
    public void paint(Graphics g){
        g.setColor(Color.red);
        g.drawString("Welcome",50, 50);
        g.drawLine(20,30,20,300);
        g.drawRect(70,100,30,30);
        g.fillRect(170,100,30,30);
        g.drawOval(70,200,30,30);
        g.setColor(Color.pink);
        g.fillOval(170,200,30,30);
        g.drawArc(90,150,30,30,30,270);
        g.fillArc(270,150,30,30,0,180);
    }
}
//GraphicsDemo.html
<html>
    <body>
        <applet code="GraphicsDemo.class" width="300" height="300"> </applet>
    </body>
</html>

Displaying Image in Applet

Applet is mostly used in games and animation. For this purpose image is required to be displayed. The java.awt.Graphics class provide a method drawImage() to display the image.

Example of displaying image in applet:

import java.awt.*;  
import java.applet.*;  
  
public class DisplayImage extends Applet {  
    Image picture;  
    public void init() {  
        picture = getImage(getDocumentBase(),"sonoo.jpg");  
    }  
    
    public void paint(Graphics g) {  
        g.drawImage(picture, 30,30, this);  
    }  
}  
<html>
    <body>
        <applet code="DisplayImage.class" width="300" height="300"> </applet>
    </body>
</html>

EventHandling in Applet

As we perform event handling in AWT or Swing, we can perform it in applet also. Let's see the simple example of event handling in applet that prints a message by click on the button.

Example of EventHandling in applet:

import java.applet.*;  
import java.awt.*;  
import java.awt.event.*;  
public class EventApplet extends Applet implements ActionListener{  
    Button b;
    TextField tf;
    public void init() {
        tf=new TextField();
        tf.setBounds(30,40,150,20);
        b=new Button("Click");
        b.setBounds(80,150,60,50);
        add(b);
        add(tf);
        b.addActionListener(this);
        setLayout(null);
    }
    public void actionPerformed(ActionEvent e) {
        tf.setText("Welcome");
    }
}
<html>
    <body>
        <applet code="EventApplet.class" width="300" height="300"> </applet>
    </body>
</html>

Parameter in Applet

We can get any information from the HTML file as a parameter. For this purpose, Applet class provides a method named getParameter(). Syntax:

public String getParameter(String parameterName);

Example of using parameter in Applet:

import java.applet.Applet;  
import java.awt.Graphics;  
public class UseParam extends Applet{  
    public void paint(Graphics g){  
        String str=getParameter("msg");  
        g.drawString(str,50, 50);  
    }
}
<html>
    <body>
        <applet code="UseParam.class" width="300" height="300">
            <param name="msg" value="Welcome to applet">
        </applet>
    </body>
</html>