Applets – Lecture 1, 2 & 3

23
1 Applets – Lecture 1, 2 & 3 Prepared by: Ahmad Ramin Rahimee Assistant Professor ICTI

description

Applets – Lecture 1, 2 & 3. Prepared by: Ahmad Ramin Rahimee Assistant Professor ICTI. What is an applet?. Applet : a Java program that can be inserted into a web page and run by loading that page in a browser - PowerPoint PPT Presentation

Transcript of Applets – Lecture 1, 2 & 3

Page 1: Applets – Lecture 1, 2 & 3

1

Applets – Lecture 1, 2 & 3

Prepared by: Ahmad Ramin RahimeeAssistant ProfessorICTI

Page 2: Applets – Lecture 1, 2 & 3

2

What is an applet? Applet: a Java program that can be inserted into a web

page and run by loading that page in a browser brings web pages to life with interactive content,

multimedia, games, and more

the feature of Java that is primarily responsible for its initial popularity

users can run applets simply by visiting a web page that contains an applet program (if they have the Java runtime environment installed on their computer)

Page 3: Applets – Lecture 1, 2 & 3

3

Applet

Page 4: Applets – Lecture 1, 2 & 3

4

APPLET… Loaded into a java-enabled program

(Netscape, Applet Viewer) Applet is not a stand-alone program (no main

method), structured to run inside another program (browser)

JVM runs applications, but not applets. An applet can run as an application if it defines a main().

Applets are usually event-driven.

Page 5: Applets – Lecture 1, 2 & 3

5

Does I/O through a GUI, only displays error messages with stdout.

Applets subclass java.applet

Security - applets barred from reading/writing files on the client, can’t load libraries, can’t make network connections (except to its host), can’t execute programs, etc...

APPLET…

Page 6: Applets – Lecture 1, 2 & 3

6

Applet life cycle browser visits page containing an applet

browser calls init on that applet, once browser calls start on that applet

browser goes away from that page browser calls stop on that applet

browser comes back to that page browser calls start again on that applet

... browser shuts down

browser calls destroy on the applet, once

init()

start()

stop()

destroy()

do some work

Page 7: Applets – Lecture 1, 2 & 3

7

APPLET

Applet lifecycle: (methods overriden from Applet class):init(), start(), paint(g),stop(), destroy()

Loading an applet an instance of the applet’s controlling class (Applet subclass)

created applet initializes itself applet starts running

Leaving and returning to applet page when page is left, applet stops upon page return, applet starts

Applet reloading/unloading applet performs final cleanup, before reloading

Browser quitting - (applet stops, performs final cleanup)

Page 8: Applets – Lecture 1, 2 & 3

Applet Skeletonimport java.awt.*;

import java.applet.*;

/*

<applet code="AppletSkel" width=300 height=100>

</applet>

*/

public class AppletSkel extends Applet {

// Called first.

public void init() {

// initialization

}

/* Called second, after init(). Also called whenever

the applet is restarted. */

public void start() {

// start or resume execution

}

// Called when the applet is stopped.

public void stop() {

// suspends execution

}

/* Called when applet is terminated. This is the last

method executed. */

public void destroy() {

// perform shutdown activities

}

// Called when an applet's window must be restored.

public void paint(Graphics g) {

// redisplay contents of window

}

} 8

Page 9: Applets – Lecture 1, 2 & 3

Simple Applet Display Methods

To output a string to an applet, use drawString( ), which is a member of the Graphics class. Typically, it is called from within paint( ). It has the following general form:

void drawString(String message, int x, int y)

Here, message is the string to be output beginning at x,y.

In a Java window, the upper-left corner is location 0,0.

9

Page 10: Applets – Lecture 1, 2 & 3

Simple Applet Display Methods…

To set the background color of an applet’s window, use setBackground( ).

To set the foreground color (the color in which text is shown, for example), use setForeground( ).

These methods are defined by Component, and they have the following general forms:

void setBackground(Color newColor)void setForeground(Color newColor)

A good place to set the foreground and background colors is in the init( ) method.

Of-course, you can change these colors as often as necessary during the execution of your applet.

10

Page 11: Applets – Lecture 1, 2 & 3

Simple Applet Program Here is a very simple applet that sets the background

color to cyan, the foreground color to red, and displays a message that illustrates the order in which the init( ), start( ), and paint( ) methods are called when an applet starts up.

import java.awt.*;

import java.applet.*;

public class Sample extends Applet{

String msg;

public void init() {

setBackground(Color.cyan);

setForeground(Color.red);

msg = "Inside init( ) --";

}

public void start() {

msg += " Inside start( ) --";

}

public void paint(Graphics g) {

msg += " Inside paint( ).";

g.drawString(msg, 10, 30);

}

} 11

Page 12: Applets – Lecture 1, 2 & 3

Simple Applet Program… The applet generates the window shown here:

12

Page 13: Applets – Lecture 1, 2 & 3

13

HTML APPLET TAG (Element)<applet code="..." width=xxx height=xxx ...>

...

</applet>

Required Attributes CODE

Designates the filename of the Java class file to load Filename interpreted with respect to directory of current HTML page

(default) unless CODEBASE is supplied WIDTH and HEIGHT

Specifies area the applet will occupy Values can be given in pixels or as a percentage of the browser window

width

Page 14: Applets – Lecture 1, 2 & 3

14

Web page with an applet Put a page like this in your project's folder:

<HTML>

<HEAD>

<TITLE>My Applet Page</TITLE>

</HEAD>

<BODY>

<APPLET code="mypackage/MyApplet.class" width=400 height=300> </APPLET>

</BODY>

</HTML>

Page 15: Applets – Lecture 1, 2 & 3

15

Useful Applet Methods getCodeBase, getDocumentBase

The URL of the:Applet file - getCodeBase HTML file - getDocumentBase

getParameter Retrieves the value from the associated HTML PARAM element

getSize Returns the Dimension (width, height) of the applet

getGraphics Retrieves the current Graphics object for the applet The Graphics object does not persist across paint invocations

Page 16: Applets – Lecture 1, 2 & 3

16

Useful Applet Methods… showStatus

Displays a string in the status line at the bottom of the browser getCursor, setCursor

Defines the Cursor for the mouse, for example, CROSSHAIR_CURSOR, HAND_CURSOR, WAIT_CURSOR

getBackground, setBackground Gets/sets the background color of the applet SystemColor class provides access to desktop colors

getForeground, setForeground Gets/sets foreground color of applet (default color of drawing

operations)

Page 17: Applets – Lecture 1, 2 & 3

17

Useful Applet Methods… getAudioClip(URL url, String fileName) play

Retrieves an audio file from a remote location and plays it JDK 1.1 supports .au only. Java 2 also supports MIDI, .aiff

and .wav

Page 18: Applets – Lecture 1, 2 & 3

Sample Playing Audio Clip Program

import java.applet.Applet;import java.applet.AudioClip;

public class NewApplet extends Applet { public void start(){ AudioClip acl; acl = this.getAudioClip(getDocumentBase(),"M1F1-Alaw-AFsp.au"); acl.play(); }}

18

Page 19: Applets – Lecture 1, 2 & 3

19

Useful Applet Methods…

Loading images in appletpublic Image getImage(URL url)Loads and returns the image file at the given URL.

public Image getImage(URL folder, String file)Loads the image in the given folder with the given name. Often used with getCodeBase().

Page 20: Applets – Lecture 1, 2 & 3

Requesting Repainting repaint() method is defined by AWT. Causes AWT runtime system to execute paint() method. repaint() method has four forms:

void repaint()this method causes the entire window to be repainted.

void repaint(int left, int top, int width, int height)this method causes a specific region in a window to be repainted.

void repaint(long maxDelay)Here maxDelay specifies the maximum number of milliseconds that can elapse before calling repaint().

void repaint(long maxDelay, int x, int y, int width, int height)

20

Page 21: Applets – Lecture 1, 2 & 3

21

Summary Applet operations are restricted

Applet cannot read/write local files, call local programs, or connect to any host other than the one from which it was loaded

The init method Called only when applet loaded, not each time executed This is where you use getParameter to read PARAM data

The paint method Called each time applet is displayed Coordinates in drawing operations are wrt top-left corner

Drawing images getImage(getCodeBase(), "imageFile") to “load” drawImage(image, x, y, this) to draw

Page 22: Applets – Lecture 1, 2 & 3

Exercises What is an applet? How does an applet differ from

applications? Explain with an example how we implement an applet

into a webpage? Explain how to set background area in applet? What are the methods that controls an applet’s life

cycle?

22

Page 23: Applets – Lecture 1, 2 & 3

Assignment

Write a program to load an image to your applet. Write a program to draw a home in to your applet using

Graphics methods.

23