session4 applets
TRANSCRIPT
Applets
Session 4
Applets / 2 of 27
Objectives
Differentiate between Java applications and Java applets
Explain how to create a program to work as both applet and an application
Identify how parameters are passed to applets Discuss Event handling with applets Describe the graphics class Discuss the Font class Examine the FontMetrics class Discuss the Color class
Define an applet
Applets / 3 of 27
Introduction
There are a number of ways to create interactive programs on the Web but one of the most remarkable ways is using a Java applet
An applet is a Java program designed to work on the Internet through a web browser
An applet can be used for a variety of purposes right from web-based communications to designing graphical user interfaces for backend applications
HTML pages by themselves are very passive
Applets / 4 of 27
Applets
Created by subclassing the ‘java.applet.Applet’ class
Examples of Java enabled web browsers are Internet Explorer
An ‘Applet’ is a Java program that can be embedded in an HTML page and executed on a Java enabled browser
and Netscape Communicator
Applets / 5 of 27
Difference between Applets and Applications (1)
Applets are created by extending the java.applet.Applet class. There is no such constraint for an application
Applets run on any browser while applications run using Java interpreter
An applet is basically designed for deploying on the web whereas an application is designed to work as a standalone program
Applets / 6 of 27
Difference between Applets and Applications (2)
Applet must contain at least one public class failing which the compiler reports an error. There it is not mandatory to declare main( ) for an applet where as
In case of application, ‘main( )’ has to be included in a public class
Execution of applets begin with the init() method while Execution of applications begins with main() method
Applets / 7 of 27
Life cycle of an Applet (1)
An applet defines its structure from four events that take place during execution
For each event, a method is automatically called
Life cycle of an object specifies stages the object has to pass right from its creation until it is destroyed
Applets / 8 of 27
Life cycle of an Applet (2)
init() – called during initialization start() – starts the applet once it is initialized stop() – used to pause the execution of an applet destroy() – used to destroy the applet The method paint() is used to display a line, text
or an image on the screen Whenever an applet has to be painted again after
it has been drawn once, the repaint() method is used.
The methods are as follows:
Applets / 9 of 27
Redraw Applet
stop( )
Start state
start( ) paint( )
Life cycle of an Applet (2)
Applet Working
Applet Born
Applet Displayed
Idle State
Applet Destroyed
Initialization state
If st
art(
)
calle
d a
ga
indestroy( )
Destroy Appletinit( )
Applets / 10 of 27
A simple applet
Output
Applets / 11 of 27
Create a HTML page to display the applet<html><appletcode=Firstapplet width=200 height=200></applet></html>
Then type the following at command prompt: appletviewer abc.html //‘abc.html’- name of
the html file
Compiling and running an applet
An applet is compiled using the Java compiler: javac javac Firstapplet.java
Applets / 12 of 27
Displaying images using applets (1)
Output
Applets / 13 of 27
Displaying images using applets (2)
getCodeBase() method gets the base URL getImage() method returns an Image object
which can be drawn on the screen drawImage() takes four parameters – Image
object, location in terms of x and y coordinates and an object of type ImageObserver
To display images, we need to make use of the Image and Graphics classes
Applets / 14 of 27
Passing parameters
Parameters are passed to the applet using the <param> tag in the HTML file
Parameter value is retrieved in the applet using the getParameter() method which returns a string
By the help of parameters we can allow the user to control certain factors
Applets / 15 of 27
Example
Applets / 16 of 27
Applets and GUI
Default layout of an applet is FlowLayout The figure below depicts the various controls
that can be created
Graphical User Interface is used to create a pictorial interface that is easy to work with
Applets / 17 of 27
Handling events with applets
While designing applets we need to trap these events and provide suitable actions to be performed in response to each of those events
Mouse events in an applet can be handled by overriding mouseDown(), mouseUp(), mouseDrag() methods
Besides the methods, we can also use Listener interfaces
Clicking or pressing the Enter key on GUI components generates event
Applets / 18 of 27
Graphics class (1)
Graphics class is a part of the java.awt package
It has to be imported into the program
Apart from text, it is possible to draw images, rectangles, lines, polygons and various other graphical representations
Applets / 19 of 27
Graphics class (2)
Method Purpose
abstract void drawLine(int x1, int y1, int x2, int y2)
Draws a line from starting point specified by x1,y1 to ending point x2,y2 in the graphic context’s coordinate system
void drawRect( int topx, int topy, int width, int height)
Draws a rectangle whose top left coordinates, width and height are given
abstract void fillRect (int topx, int topy, int width, int height)
Draws a solid rectangle whose top left coordinates, width and height are given
Applets / 20 of 27
Graphics class (3)
Method Purpose
abstract void drawOval(int topx, int topy, int width, int height)
Draws an oval whose top left coordinates, width and height are given
abstract void fillOval(int topx, int topy, int width, int height)
Draws a solid oval whose top left coordinates, width and height are given
abstract void drawArc(int x, int y, int width, int height, int startangle, int degrees)
Draws an arc whose x, y coordinates are given with given height and width and whose start angle and degrees travelled are given
Applets / 21 of 27
Example (1)
Applets / 22 of 27
Example (2)
Output
Applets / 23 of 27
Font class
One constructor of the Font is: public Font(String name, int style, int pointsize)
name can be “Times New Roman”, “Arial”, etc. style can be Font.PLAIN, Font.BOLD, Font.ITALIC pointsize for fonts can be 11,12,14,16,etc.
java.awt.Font class is used to set or retrieve fonts
Applets / 24 of 27
Example
Output
Applets / 25 of 27
FontMetrics class
In such a case, the FontMetrics class proves useful
Commonly used methods of FontMetrics class int stringWidth(String s) – returns full width of string int charWidth(char c) – returns width of that
character int getHeight() – returns total height of the font
At times, it is necessary to know the attributes of fonts used within a program
Applets / 26 of 27
Example
Output
Applets / 27 of 27
Color class
Colors can be constructed as shown : Color a=new Color(255,255,0); Color b=new Color(0.907F,2F,0F);
To change or set colors for a component : void setColor(Color) of Graphics class void setForeground(Color) of Component class ,inherited
by various components void setBackground(Color) of Component class ,inherited
by various components
java.awt.Color class is used to add color to applications and applets