applets

30
Programming in JAVA Topic: Applets By Ravi Kant Sahu Asst. Professor Lovely Professional University, Punjab Lovely Professional University, Punjab

Upload: ravi-kant-sahu

Post on 15-May-2015

927 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Applets

Programming in JAVA

Topic: Applets

ByRavi Kant SahuAsst. Professor

Lovely Professional University, PunjabLovely Professional University, Punjab

Page 2: Applets

Introduction• A Java applet is a special kind of Java program that a java-

enabled browser can download from the internet and run.

• An applet is typically embedded inside a web page and runs in the context of a browser.

• An applet must be a subclass of the java.applet.Applet class.

• The Applet class provides the standard interface between the applet and the browser environment.

Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)

Page 3: Applets

• Applets are not stand-alone programs.

• Instead, they run within either a web browser or an applet viewer.

• Execution of an applet does not begin at main( ).

• Output to applet’s window is not performed by System.out.println( ).

Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)

Page 4: Applets

Types of Applets• There are two types of applets.

• The first are based directly on the Applet class and use the AWTto provide the graphic user interface.

• These applets has been available since Java was first created.

• The second type of applets are based on the Swing class JApplet.

• Swing applets use the Swing classes to provide the GUI.

Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)

Page 5: Applets

• Swing offers a richer and often easier-to-use user interface than does the AWT.

• Swing-based applets are now the most popular. However, traditional AWT-based applets are still used, especially when only a very simple user interface is required.

• Thus, both AWT and Swing-based applets are valid.

• Because JApplet inherits Applet, all the features of Applet are also available in JApplet

Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)

Page 6: Applets

Applet Class• Applet provides all necessary support for applet execution, such

as starting and stopping.

• It also provides methods that load and display images, and methods that load and play audio clips.

• Applet extends the AWT class Panel. In turn, Panel extends Container, which extends Component.

Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)

Page 7: Applets

Applet Class Hierarchy

Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)

Page 8: Applets

Applet Methods called by the system• public void init()

To initialize the Applet When the applet is first loaded.

• public void start()Starts applet when the applet is displayed. Automatically called after init( ) when an applet first begins.

• public void stop()When the browser leaves the page containing the applet.

• public void destroy()Called by the browser just before an applet is terminated.

• public void paint(Graphics g)Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)

Page 9: Applets

Applet Initialization and Termination

• When an applet begins, the following methods are called, in this sequence:

1.init( )2.start( )3.paint( )

• When an applet is terminated, the following sequence of method calls takes place:

1.stop( )2.destroy( )

Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)

Page 10: Applets

init( )• The init( ) method is the first method to be called.

• This is where we should initialize variables.

• This method is called only once during the run time of your applet.

Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)

Page 11: Applets

start( )• The start( ) method is called after init( ).

• It is also called to restart an applet after it has been stopped.

• init( )is called once—the first time an applet is loaded whereas start( ) is called each time an applet’s HTML document is displayed on screen.

• So, if a user leaves a web page and comes back, the applet resumes execution at start( ).

Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)

Page 12: Applets

paint( )• The paint( ) method is called each time the applet’s output must be

redrawn.

• This situation can occur for several reasons. For example, the window in which the applet is running may be overwritten by another window and then uncovered. Or the applet window may be minimized and then restored.

• paint( ) is also called when the applet begins execution.

• The paint( ) method has one parameter of type Graphics, which describes the graphics environment in which the applet is running.

Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)

Page 13: Applets

stop( )

• The stop( ) method is called when a web browser leaves the HTML document containing the applet(e.g. when it goes to another page).

• When stop( )is called, the applet may be running. We can restart them when start( )is called if the user returns to the page.

Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)

Page 14: Applets

destroy( )

• The destroy( ) method is called when the environment determines that the applet needs to be removed completely from memory.

• It frees up any resources the applet may be using.

• The stop( ) method is always called before destroy( ).

Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)

Page 15: Applets

Graphics Class

Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)

Page 16: Applets

• The Graphics class provides the methods for drawing strings, lines, rectangles, ovals, arcs, polygons, and polylines.

• void setColor(Color c)• void setFont(Font f)• void drawString(Strig s, int x, int y)• void drawLine(int x1, int y1, int x2, int y2)

• void drawRect(int x, int y, int w, int h)• void fillRect(int x, int y, int w, int h)• void drawRoundRect(int x, int y, int w, int h, int aw, int ah)• void fillRoundRect(int x, int y, int w, int h, int aw, int ah)

Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)

Graphics Methods

Page 17: Applets

• void drawOval(int x, int y, int w, int h)• void fillOval(int x, int y, int w, int h)

• void drawArc(int x, int y, int w, int h, int start_angle, intarc_angle)

• void fillArc(int x, int y, int w, int h, int start_angle, intarc_angle)

• void drawPolygon (int [] x, int [] y, int n_point)• void drawPolygon (int [] x, int [] y, int n_point)

• void drawPolyline (int [] x, int [] y, int n_point)

Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)

Graphics Methods

Page 18: Applets

Color class

• We can set colors for GUI components by using the java.awt.Colorclass.

• We can use one of the 13 standard colors (BLACK, BLUE, CYAN, DARK_GRAY, GRAY, GREEN, LIGHT_GRAY, MAGENTA, ORANGE, PINK, RED, WHITE, and YELLOW) defined as constants in java.awt.Color.

• Colors are made of red, green, and blue components, each represented by an int value that describes its intensity, ranging from 0(lightest shade) to 255(darkest shade). This is known as the RGB model.

Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)

Page 19: Applets

• We can create a color using the following constructor: public Color(int r, int g, int b);

• Color color = new Color(128,100,100);• The arguments r, g, b are between 0 and 255. If a value beyond this

range is passed to the argument, an IllegalArgumentException will occur.

Example: JButton jb1 = new JButton("OK");jb1.setBackground(color);jb1.setForeground (new Color(100,1,1));

Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)

Page 20: Applets

Font class• We can create a font using the java.awt.Font class and set fonts for the

components using the setFont method in the Component class.

• The constructor for Font is:public Font (String name, int style, int size);

• You can choose a font name from SansSerif, Serif, Monospaced, Dialog, or DialogInput.

• Choose a style from Font.PLAIN(0), Font.BOLD(1), Font.ITALIC(2), and Font.BOLD+Font.ITALIC(3), and specify a font size of any positive integer.

Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)

Page 21: Applets

Font class• Example:

Font font1 = new Font("SansSerif", Font.BOLD, 16);Font font2 = new Font("Serif", Font.BOLD +

Font.ITALIC, 12);JButton jbtOK = new JButton("OK");jbtOK.setFont(font1);

Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)

Page 22: Applets

setBackground() & setForeground()

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

void setBackground(Color newColor)

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

void setForeground(Color newColor)

• These methods are defined by Component.

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

Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)

Page 23: Applets

Simple Applet Display MethodsdrawString( )

• used to output a string to an applet.

• is a member of the Graphics class.

• called from within either update( ) or paint( ).

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

• The drawString( ) method will not recognize new line characters.

• If we want to start a line of text on another line, we must do so manually, specifying the precise X, Y location where we want the line to begin.

Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)

Page 24: Applets

repaint()• Whenever an applet needs to update the information displayed in its

window, it simply calls repaint( ).

• The repaint( ) method is defined by the AWT.

• It causes the AWT run-time system to execute a call to applet’s update( ) method, which, in its default implementation, calls paint( ).

void repaint( )void repaint(int left, int top, int width, int height)

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

Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)

Page 25: Applets

Exampleimport java.awt.*;import java.applet.*;/* <applet code="Banner" width=300 height=50> </applet> */public class Banner extends Applet implements Runnable

{String msg = " Ravi Kant Sahu ";Thread t = null;int state;boolean stopFlag;

// Set colors and initialize thread.public void init()

{setBackground(Color.cyan);setForeground(Color.red);

}

Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)

Page 26: Applets

// Start threadpublic void start()

{ t = new Thread(this);stopFlag = false;t.start(); }

public void run() { char ch;

// Display bannerfor( ; ; ) { try {

repaint();Thread.sleep(450);ch = msg.charAt(0);msg = msg.substring(1, msg.length());msg += ch;if(stopFlag) break;

} catch(InterruptedException e) {}

}} Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)

Page 27: Applets

// Pause the banner.public void stop()

{stopFlag = true;t = null;

}

// Display the banner.

public void paint(Graphics g) {

g.drawString(msg, 50, 30);}

}

Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)

Page 28: Applets

Status Window in Applets

• An applet can output a message to the status window of the browser or applet viewer on which it is running.

• showStatus( ) method is used to display the status message.

• The status window is a good place to give the user feedback about what is occurring in the applet, suggest options, or possibly report some types of errors.

Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)

Page 29: Applets

Exampleimport java.awt.*;import java.applet.*;

/* <applet code="StatusWindow" width=300 height=50> </applet> */

public class StatusWindow extends Applet{

public void init() {

setBackground(Color.cyan);}

public void paint(Graphics g) {

g.drawString("Ravi Kant Sahu", 10, 20);showStatus("This applet is running on Appletviewer.");

}}

Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)

Page 30: Applets

Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)