Transcript Slide 1
Applets
Chapter 17
Java’s big splash onto the scene came in the mid
90’s. The people at Sun Microsystems had
managed to work java programs into Web pages,
and the results were dazzling. The infusion of Java
into the Web was powerful, efficient, portable, and
secure
The trick was to create a part
of a program, called an
applet, and to display the
applet inside a rectangle on
the Web page
Java programs are divided into two main
categories, applets and applications
An application is an ordinary Java program
An applet is a kind of Java program that can
be run across the Internet
Applications are invoked from the static main
method by the Java interpreter, and applets are run
by the Web browser. The Web browser creates an
instance of the applet using the applet’s no-arg
constructor and controls and executes the applet
through the init, start, stop, and destroy methods.
Applets have security restrictions
Web browser creates graphical environment for
applets, GUI applications are placed in a frame.
Applets are not allowed to read from, or write
to, the file system of the computer viewing the
applets.
Applets are not allowed to run any programs on
the browser’s computer.
Applets are not allowed to establish
connections between the user’s computer and
another computer except with the server where
the applets are stored.
When the applet is loaded, the Web browser
creates an instance of the applet by invoking
the applet’s no-arg constructor.
The browser uses the init, start, stop, and
destroy methods to control the applet.
By default, these methods do nothing.
To perform specific functions, they need to be
modified in the user's applet so that the browser can
call your code properly
init() method
Executes when Web page containing a
JApplet loaded
Or when running appletviewer command
start() method
Executes after init() method
Executes again every time applet becomes
active after it has been inactive
stop() method
Invoked when user leaves Web page
destroy() method
Called when user closes browser or Applet
Viewer
Releases any resources JApplet might have
allocated
Every JApplet has the same life cycle
outline
Always extends the JApplet class, which is a
subclass of Applet for Swing components.
Override init(), start(), stop(), and
destroy() if necessary. By default, these
methods are empty.
Add your own methods and data if necessary.
import java.awt.*;
import javax.swing.*;
public class FirstApplet extends JApplet {
public void init ( ) {
getContentPane( ).setBackground(Color.ORANGE);
setLayout(new BorderLayout( ));
JLabel message =
new JLabel("An applet a day keeps the doctor away. ");
add(message, BorderLayout.CENTER);
}
}
Some of the items included in a Swing GUI are not
included in an applet
Applets do not contain a main or setVisible
method
Applets are displayed automatically by a Web page or
an applet viewer
Applets do not have titles
Therefore, they do not use the setTitle method
They are normally embedded in an HTML document,
and the HTML document can add any desired title
Applets do not use the setSize method
The HTML document takes care of sizing the applet
Applets do not have a close-window button
Therefore, they do not have a
setDefaultCloseOperation method
When the HTML document containing the applet is
closed, then the applet is automatically closed
An icon is a picture
An icon can be stored in a file of many different
standard formats
It is typically, but not always, a small picture
Such as .gif, .tiff, or .jpg
The class ImageIcon is used to convert a picture
file to a Swing icon
Then it can be added as a component to any
Container class, such as JApplet
The class ImageIcon is in the javax.swing package
ImageIcon NameOfImageIcon = new
ImageIcon("PictureFileName");
The easiest way to display an icon in an applet is to
place it in a JLabel
The following three lines create a label, create an
icon, and then add the icon to the label:
JLabel aLabel=new JLabel("Welcome to my applet.");
ImageIcon waveIcon = new
ImageIcon("hand_waving.gif");
aLabel.setIcon(waveIcon);
Java can also play sound files within the Applet
class
play( ) method of the Applet class
Simplest way to retrieve and play a sound
Two forms
Codebase attribute
Indicates the filename of the applet’s main class file
getCodeBase( ) method
AudioClip aClip =
new AudioClip(getCodeBase(), "audio/event.au");
An applet class is compiled in the same way
as any other Java class
However, an applet is run differently from other
Java programs
The normal way to run an applet is to
embed it in an HTML document
The applet is then run and viewed through a
Web browser
HTML is used to be able to run an applet from a
web site
HTML stands for Hypertext Markup Language
Hypertext is text viewed on a browser that contains
clickable entries called links or hyperlinks
When a link or hyperlink is clicked, the document
specified by the link is displayed
When you create an applet
Write applet in Java
Save with .java file extension
Compile applet into bytecode using javac
command
Write HTML document
Includes statement to call compiled Java class
Load HTML document into a Web browser
Or run Applet Viewer program
Run applet from within HTML document
<HTML>
<object code = "AClass.class" width =
300 height = 200> </object>
</HTML>
Three object tag attributes
code
Name of compiled applet
width
height
Due to security restrictions, applets cannot
access local files. How can an applet load
resource files for image and audio?
The java.net.URL class can be used to
identify files (image, audio, text, etc.) on the
Internet.
In general, a URL (Uniform Resource
Locator) is a pointer to a “resource” on the
World Wide Web on a local machine or a
remote host.
A resource can be something as simple as a file
or a directory.
A URL is the name of an HTML document on the
Web
URL is an acronym for Uniform Resource Locator
URLs often begin with http
This is the name of the protocol used to transfer and
interpret the HTML document
Most browsers will fill in http:// if it is omitted
Text can be marked as a hyperlink so that if a user
clicks that text, the browser goes to another Web
page specified by the link
<a href="PathToDocument">
TextToClick
</a>
The PathToDocument can be a full or relative path
name to an HTML file, or a URL to any place on the Web
The TextToClick will be displayed and underlined by
the browser
A picture can also be inserted in an HTML
document
<img src="PathToPicture">
The PathToPicture can be a full or relative path
name to a file with a digitally encoded picture
Most commonly used picture-encoding formats are
accepted, such as .gif, .tiff, and .jpg
<p>
Our Java class goals
</p>
<img src = "smiley.gif">
<a href = "http://goals/">
Click here for list of goals
</a>