You are on page 1of 6

What is an applet?

CSC 308 2.0


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)

System Development with Java Introduction to

Java Applets
Budditha Hettige Department of Statistics and Computer Science

Budditha Hettige

Applet classes in Java


implementation
a top-level container, like a JFrame behaves more like a JPanel
class javax.swing.JApplet
java.lang.Object java.awt.Component java.awt.Container

Applets contd.
Program that runs in
appletviewer (test utility for applets) Web browser (IE, Communicator)

Executes when HTML (Hypertext Markup Language) document containing applet is opened and downloaded Applications run in command windows

java.awt.Panel
java.applet.Applet javax.swing.JApplet

Budditha Hettige

Budditha Hettige

Sample Program
import java.awt.Graphics; import javax.swing.JApplet; // import class Graphics // import class JApplet public class WelcomeApplet extends JApplet { // draw text on applets background public void paint( Graphics g ) { // call superclass version of method paint super.paint( g ); // draw a String at x-coordinate 25 and y-coordinate g.drawString( "Welcome to Java Programming!", 25, 25 ); } // end method paint } // end class WelcomeApplet

Running the applet


Compile
javac WelcomeApplet.java If no errors, bytecodes stored in WelcomeApplet.class

Create an HTML file


Loads the applet into appletviewer or a browser Ends in .htm or .html

To execute an applet
Create an HTML file indicating which applet the browser (or appletviewer) should load and execute 5
Budditha Hettige

Budditha Hettige

Create a HTML file


1

Execute an applet
appletviewer only understands <applet> tags
Ignores everything else Minimal browser

2 3 4

<html> <applet code = "WelcomeApplet.class" width = "300" height = "45"> </applet> </html>

Simple HTML file (WelcomeApplet.html)


Usually in same directory as .class file Remember, .class file created after compilation

HTML codes (tags)


Usually come in pairs Begin with < and end with >

Executing the applet


appletviewer WelcomeApplet.html Perform in directory containing .class file

Lines 1 and 4 - begin and end the HTML tags Line 2 - begins <applet> tag
Specifies code to use for applet Specifies width and height of display area in pixels

Line 3 - ends <applet> tag

Budditha Hettige

Budditha Hettige

The paint method


paint needs to be told where on the screen it can draw This will be the only parameter it needs paint doesnt return any result A Graphics (short for Graphics context) is an object that holds information about a painting It remembers what color you are using It remembers what font you are using You can paint on it (but it doesnt remember what you have painted)
Budditha Hettige

Colors
The java.awt package defines a class named Color There are 13 predefined colorshere are their fully-qualified names:
Color.BLACK Color.DARK_GRAY Color.GRAY Color.LIGHT_GRAY Color.WHITE Color.PINK Color.RED Color.ORANGE Color.YELLOW Color.MAGENTA Color.GREEN Color.CYAN Color.BLUE

Budditha Hettige

10

Colors
New Colors
Every color is a mix of red, green, and blue You can make your own colors: new Color( red , green , blue ) Amounts range from 0 to 255 Black is (0, 0, 0), white is (255, 255, 255) We are mixing lights, not pigments Yellow is red + green, or (255, 255, 0)

Pixels
A pixel is a picture (pix) element
one pixel is one dot on your screen there are typically 72 to 90 pixels per inch

java.awt measures everything in pixels

Setting a color
To use a color, we tell our Graphics g what color we want:
g.setColor(Color.RED);

g will remember this color and use it for everything until we tell it some different color

Budditha Hettige

11

Budditha Hettige

12

Javas coordinate system


(0, 0) (0, 20) (50, 0) (50, 20)

Drawing rectangles
There are two ways to draw rectangles:
g.drawRect( left , top , width , height );

(w-1, h-1)

Java uses an (x, y) coordinate system (0, 0) is the top left corner (50, 0) is 50 pixels to the right of (0, 0) (0, 20) is 20 pixels down from (0, 0) (w - 1, h - 1) is just inside the bottom right corner, where w is the width of the window and h is its height
Budditha Hettige

g.fillRect(left , top , width , height );

13

Budditha Hettige

14

Sample Applet
import java.applet.Applet; import java.awt.*; public class Drawing extends Applet { public void paint(Graphics g) { g.setColor(Color.BLUE); g.fillRect(20, 20, 50, 30); g.setColor(Color.RED); g.fillRect(50, 30, 50, 30); } }
Budditha Hettige

More java.awt methods


g.drawLine( x1 , y1 , x2 , y2 ); g.drawOval( left , top , width , height ); g.fillOval( left , top , width , height ); g.drawRoundRect( left , top , width , height ); g.fillRoundRect( left , top , width , height ); g.drawArc( left , top , width , height , startAngle , arcAngle );

g.drawString( string , x , y );

15

Budditha Hettige

16

Applet Methods
public public public public public public public public public void void void void void init () start () stop () destroy () paint (Graphics)
java .a wt.Pa nel

Applet Method contd.


public void stop() { import java.applet.*; // Called whenever the page containing this import java.awt.*; // applet is not visible. public class BasicApplet extends } Applet { public void destroyed() {

java .a pplet.Apple t destroy()

public void init() {


// Called once by the browser when // it starts the applet.

// Called once when the browser destroys // this applet.

void repaint() void update (Graphics) void showStatus(String) String getParameter(String)

init() start() stop()

} public void start() {


// Called whenever the page containing
// this applet is made visible.

} public void paint(Graphics g) { // Called whenever this applet needs


to // repaint itself.

} }

Budditha Hettige

17

Budditha Hettige

18

The Life-Cycle of Applet


{

Applet Life-Cycle (Cont.)


{

init()
z
z

Called exactly once in an applets life. Called when applet is first loaded, which is after object creation, e.g., when the browser visits the web page for the first time. Used to read applet parameters, start downloading any other images or media files, etc.
Called at least once. Called when an applet is started or restarted, i.e., whenever the browser visits the web page. Called at least once. Called when the browser leaves the web page.
Budditha Hettige

destroy()
z z z

Called exactly once. Called when the browser unloads the applet. Used to perform any final clean-up.
init

start()
z z

start

stop()
z z

stop

destroy

start

19

Budditha Hettige

20

Passing parameter to applet


Parameters can be placed in the HTML code of your web page, which your applet can read:

Applet on NetBeans

<APPLET code="mypackage/MyApplet.class" width=400 height=300> <PARAM name="password" value="Tacoma"> </PARAM> </APPLET>


Methods in the JApplet class: public String getParameter(String name) Returns the value of the parameter with the given name. String password = this.getParameter("password"); public String[][] getParameterInfo() Returns an array of all parameter names, descriptions, and values.

Budditha Hettige

21

Budditha Hettige

22

Sample Programs
C:/Program Files/Java/jdk1.6.0_23/demo/applets/

Budditha Hettige

23

You might also like