Applet
Programming
Applets
are small java programs that are primarily used in Internet Computing. An
applet is an GUI Interface that provides look and feel as compare to console
application.
Applets
are not directly executable instead they should run inside a browser either
embedding with HTML pages or by using applet viewer.
Applets
can draw pictures on a web pages, play sounds, arithmetic calculations etc.,
Local Applets: An applet developed locally and stored in a local system is known as a
local applet.
Remote Applets: An applet that's stored on another
computer and which must be downloaded to your computer over the Internet.
How Applets differ from
Applications
Java
Application Program
|
Java
Applet Program
|
|
|
|
|
|
|
|
|
|
|
Preparing to write Applets
The
steps involved in developing and testing an applet are:
- Building
an applet code
- Creating
an executable applet
- Designing
a Web Page using HTML tags
- Preparing
< Applet >Tag
- Incorporating
<Applet> tag into the web page
- Creating
HTML file
- Testing
the applet code.
Building Applet Code
The
applet class which is contained in the java.applet package provides life and
behaviour to the applet through its methods. When an applet is loaded, java
automatically calls a series of Applet class methods for starting, running and
stopping the applet code.
Applet
code imports java.awt package that contains the Graphic class.
Format of an applet code:
import
java.awt.*;
import
java.applet.*;
----------
----------
public
class <appletclassname> extends Applet
{
………..
………..
public void paint(Graphics g)
{
………….
………… // applet code
…………
}
……….
……….
}
Applet Life Cycle
When
an applet is loaded, it undergoes a series of changes in its state. The applet
states include:
- Born or
initialization state
- Running State
- Idle state
- Dead or destroyed
state
Applets’
Life Cycle
Initialization State
This
is achieved by calling init( ) method of Applet Class. At this stage, applet is
born. In this method we may do the following such as
- Set up initial
values
- Changing fonts
- Setting up the
colors
- Loading images
This
stage occurs only once in the applet’s life cycle.
Running State
This
occurs automatically after the applet is initialized by calling the start ( )
method. Starting can also occur if the applet is already in “stopped” state.
For example, we may leave the web page containing the applet temporarily to
another page and return back to the page. This again starts the applet running.
Start ( ) method may be called more than once.
Idle or Stopped State
An
applet becomes idle when its stopped from running. Stopping occurs
automatically when we leave the page containing running applet. We can also do
so by calling the stop() method explicitly.
Dead State
An
applet is said to be dead when it is removed from memory. This occurs
automatically by invoking the destroy () method when we quit the applet. This
state occurs only once in the applets life cycle.
Display State
Applet
moves to the display state whenever it has to perform some output operations on
the screen. This happens immediately after the applet enters into the running
state.
Creating an Executable Applet
import
java.awt.*;
import
java.applet.*;
/*
<applet code=”hellojava” height=400 width=300> </applet> */
public
class hellojava extends Applet
{
public void paint(Graphics g)
{
g.drawString(“Hello
welcome to applets”,10,100);
}
}
The
first imports the Abstract Window Toolkit(AWT) classes. Applets interact with
the users through the AWT. The second import statement imports the applet
package, which contains the class Applet.
The
next line in the program declares the class hellojava. This class must be
declared as public because it will be accessed by code that is outside the
program. Paint( ) is defined by AWT and must be overridden by the applet.
Inside paint() there is a call to drawstring( ) which is a member of the
Graphics class. This method outputs a string beginning at the specified X,Y
location. It has the following general form:
void
drawstring(String message, int x,int y)
After
we enter the source code for hellojava, compile in the same way that you have
been compiling programs. Then it produces a hellojava. class file. However
running a hellojava involves a different process. Infact there are 2 ways in
which you can run an applet:
- Executing the
applet within a browser
- Using an
appletviewer
Designing a Web Page
A
web page is basically made up of text and HTML tags that can be interpreted by
a web browser of an applet-viewer. A web page is also known as HTML page or
HTML document. These pages are saved using the extension .html. HTML files
should be saved in the same directory where the java applet file is saved.
A webpage is divided into 3
sections:
- Comment section
(optional)
- Head section
(Optional)
- Body section
Comment section
This
section contains comments about the web page. A comment line begins with <!
and ends with >. It can be included anywhere in the web page.
<! The text in this will be
ignored by the browser >
Head section
This
section usually contains a title for the web page.
<head>
<title> Welcome
</title>
</head>
The
text enclosed between <title> tags will appear in the title bar of the
web page. The head section is also optional.
Body section
This
section contains the entire information about the web page and its behavior.
<body>
<center>
<h1>
welcome to java applets </h1>
</center>
<br>
<applet
code=filename.class
width=size in pixels
height=size in
pixels>
</applet>
</body>
Applet Tag
The
<APPLET…> tag supplies the name of the applet to be loaded and tells the
browser how much space the applet requires.
/*
<applet code=”hello.class” height=400 width=300> </applet> */
The
width and height statements specify the dimensions of the display area used by
the applet. This HTML code tells the browser to load the compiled Java applet
hello.class.
Adding Applet to HTML file
<html>
<head>
<title> Welcome
</title>
</head>
<body>
<center>
<h1>
welcome to java applets </h1>
</center>
<applet
code=filename.class
width=size in pixels //adding appletcode to
html file
height=size in pixels>
</applet>
</body>
</html>
Running the Applet
To
run an applet, we require one of the following tools:
- Java-enabled
Web Browser (such as HotJava or Netscape)
- Java
appletviewer
If
we use java enabled web browser we will be able to see the entire web page
containing the applet. If we use the appletviewer, we will only see the applet
output.
To run our applet:
appletviewer
classname.html (for executing HTML file)
appletviewer
classname.java (for executing java file)
More about Applet Tag
The
applet tag is used to start an applet from both an HTML document and from an
appletviewer.
<APPLET
[CODEBASE=codebase URL]
CODE=appletfile
[ALT=alternate text]
[NAME=appletinstancename]
WIDTH= pixels HEIGHT= pixels
[ALIGN=alignment]
[VSPACE=pixels][HSPACE=pixels]
>
[<PARAM
NAME=AttributeName1 VALUE=AttributeValue>]
[<PARAM
NAME= AttributeName2 VALUE= AttributeValue>]
…………
[HTML]
</APPLET>
Bracketed
items are optional
CODEBASE Codebase
is an optional attribute that specifies the base URL of the applet code, which
is the directory that will be searched for the applet’s executable class file.
CODE Code
is a required attribute that gives the name of the file containing your
applet’s compiled .class file.
ALT Non_Java
browsers will display this text where the applet would normally go. This
attribute is optional.
NAME Name
is an optional attribute used to specify a name for the applet instance. This provides inter-applet communication
i.e., applets must be named in order for other applets on the same page to find
them by name and communicate with them. To obtain an applet by name, use
getApplet( ) which is defined by AppletContext interface.
WIDTH AND HEIGHT Width and Height are required
attributes that give the size in pixels of the applet display area.
ALIGN Align
is an optional attribute that specifies the alignment of the applet with
possible values such as LEFT, RIGHT, TOP, BOTTOM, MIDDLE, TEXTTOP, ABSBOTTOM,
ABSMIDDLE.
VSPACE AND HSPACE Vspace
specifies the space in pixels, above and below the applet. Hspace specifies the
space in pixels, on each side of the applet.
PARAM NAME AND VALUE The PARAM tag allows you to
specify applet specific arguments in an HTML page. Applets access their
attributes with the getParameter( ) method.
Passing Parameters to Applets
Applet
tag in HTML allows you to pass parameters to your applet. To retrieve a
parameter, use the getParameter( ) method. It returns the specified parameter
in the form of a String object. We can supply user-defined parameters to an
applet using <PARAM..> tags. Each tag has a name and a value attribute.
To
set up and handle parameters, we need to do 2 things:
·
Include
appropriate <PARAM..> tags in the HTML document.
·
Provide
code in the applet to parse these parameters.
Java Program: hellojava.java
import java.awt.*;
import java.applet.*;
public class hellojava extends Applet
{
String str,str1;
public void init()
{
str=getParameter("string");
str1=getParameter("color");
if(str==null)
str="java";
else
str="Hello
"+str+str1;
}
public void paint(Graphics g)
{
g.drawString(str,10,100);
}
}
D:\
>javac hellojava.java
HTML
File: hellojava.html
<html>
<!
parameter html file>
<head>
<title><h3>Parameter
html file</h3></title>
</head>
<body>
<applet
code=hellojava.class
width=400
height=200
>
<param
name="string" VALUE="Applet!..">
<param
name = color value="red">
</applet>
</body>
</html>
D:\
>appletviewer hellojava.html
Here
first the java source file should be compiled then it produces a class file
then that class file should be placed in the HTML document then through applet
viewer you have to execute this HTML file.
More about HTML tags
HTML
stands for Hypertext Markup Language. The following are the some of the HTML
tags.
Tag Names
|
Description
|
<html> </html>
|
The text between <html>
and </html> describes the web page.
|
<title> </title>
|
The
text contained in it will appear in the title bar.
|
<head> </head>
|
This include
the details of the web page
|
<body> </body>
|
This
tag contains the main text of the web page
|
<br>
|
Line
break tag.
|
<p> </p>
|
This
tag moves to the next line and start a paragraph
|
<a href=” “> </a>
|
Anchor
tag used to add hyperlinks
|
<img src=” “>
|
This
tag displays the image on the webpage
|
<h1>
</h1> to
<h6>
</h6>
|
Header
tags. Used to display headings
|
<font> </font>
|
We
can change the style,color and size of the font.
|
Displaying Numerical Values
In
applets, we can display numerical values by first converting them into strings
and then using the drawString( ) method of graphics class. We can do this
easily by calling the valueOf( ) method of String class.
Filename: parademo.java
import
java.awt.*;
import
java.applet.*;
public
class parademo extends Applet
{
int a;
int b;
int c;
String x,y,z;
public void init()
{
a=Integer.parseInt(getParameter("a1"));
y=String.valueOf(a);
y="A="+y;
b=Integer.parseInt(getParameter("b1"));
z="B="+String.valueOf(b);
c=a+b;
x="C="+String.valueOf(c);
}
public void paint(Graphics g)
{
g.drawString(y,10,100);
g.drawString(z,15,150);
g.drawString(x,20,200);
}
}
Filename: parademo.html
<html>
<body>
<applet
code=parademo.class
height=500
width=800
ALIGN=TEXTTOP>
<param
name="a1" value=10>
<param
name="b1" value=20>
</applet>
</body>
</html>
Output:
D:\>javac parademo.java
D:\>appletviewer parademo.html
Getting Input from the user.
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
//<applet code="textinput" width=500
height=300></applet>
public class textinput extends Applet implements
ActionListener
{
Font
f=new Font("TimesRoman",Font.BOLD,30);
TextField t1,t2;
Button
b1;
Label
l1;
public
void init()
{
setBackground(Color.pink);
setForeground(Color.black);
t1=new
TextField(8);
t2=new
TextField(8);
b1=new
Button("Ok");
setFont(f);
l1=new
Label("Enter a Number");
add(l1);
add(t1);
add(t2);
add(b1);
b1.addActionListener(this);
}
public
void actionPerformed(ActionEvent e)
{
if(e.getSource()==b1)
{
int
n, r,rev=0;
String
s1;
s1=t1.getText();
n=Integer.parseInt(s1);
while(n!=0)
{
r=n%10;
rev=rev*10+r;
n=n/10;
}
String
x=String.valueOf(rev);
t2.setText(x);
}
}
}
Output:
D:\>javac textinput.java