27
Applets Session 4

Session4 applets

Embed Size (px)

Citation preview

Page 1: Session4   applets

Applets

Session 4

Page 2: Session4   applets

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

Page 3: Session4   applets

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

Page 4: Session4   applets

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

Page 5: Session4   applets

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

Page 6: Session4   applets

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

Page 7: Session4   applets

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

Page 8: Session4   applets

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:

Page 9: Session4   applets

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( )

Page 10: Session4   applets

Applets / 10 of 27

A simple applet

Output

Page 11: Session4   applets

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

Page 12: Session4   applets

Applets / 12 of 27

Displaying images using applets (1)

Output

Page 13: Session4   applets

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

Page 14: Session4   applets

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

Page 15: Session4   applets

Applets / 15 of 27

Example

Page 16: Session4   applets

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

Page 17: Session4   applets

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

Page 18: Session4   applets

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

Page 19: Session4   applets

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

Page 20: Session4   applets

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

Page 21: Session4   applets

Applets / 21 of 27

Example (1)

Page 22: Session4   applets

Applets / 22 of 27

Example (2)

Output

Page 23: Session4   applets

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

Page 24: Session4   applets

Applets / 24 of 27

Example

Output

Page 25: Session4   applets

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

Page 26: Session4   applets

Applets / 26 of 27

Example

Output

Page 27: Session4   applets

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