Applets
OBJECTIVES :
OBJECTIVES :
To describe applets and their purpose
To discuss embedding applets in HTML pages
What
is an applet :
An
applet is a subclass of Panel
It
is a container which can hold GUI components
It
has a graphics context which can be used to draw images
An
applet embedded within an HTML page
Applets
are defined using the <applet> tag
Its
size and location are defined within the tag
The
browser contains a Java Virtual Machine which executes the applet
The
applet .class file is downloaded, through the net, into the Virtual machine.
•Unfortunately,
most browsers have a very old version of the JVM
Applications
and Applets :
Java
applications are executed from the command line
A
Java VM must be installed
The
VM is given the name of a class which contains a main() method
The
main method instantiates the objects necessary to start the application
Applets
are executed by a browser
The
browser either contains a VM or loads the Java plugin
The
programmer must implement a class which is a subclass of applet
There
is no main method. Instead, the applet
contains an init() method which is invoked by the Browser when the applet
starts
HTML
and Applets :
The
HTML applet tag contains the following parameters:
<Applet code="name of .class file"
codebase="URL
where code is loaded from"
name="applet
identifier"
align="LEFT|RIGHT|CENTER
width="size
in pixels"
height="size
in pixels“>
<param name=“aName1”
value=“aValue”>
<param name=“aName2”
value=“aValue”>
</Applet>
<HTML>
<HEAD>
<TITLE>
Sample Applet</TITLE>
</HEAD>
<BODY>
<APPLET
code="Sample.class" WIDTH=100 HEIGHT=200>
This
text will display if the browser does not support applets
</APPLET>
</BODY>
</HTML>
import
java.applet.*;
import
java.awt.*;
public
class Sample extends Applet implements ActionListener
{
private Button okButton = new
Button("OK");
private Button cancelButton = new
Button("Cancel");
public void init()
{
okButton.addActionListener(this);
cancelButton.addActionListener(this);
add(okButton);
add(cancelButton);
}
public void actionPerformed(ActionEvent x)
{
// ...
}
...
}
<Applet
code="Menu.class“>
<param name="MenuName"
value="My Web Site“>
<param name="Font"
value="Serif">
</Applet>
public
class Menu extends Applet
{
public void init()
{
String menuName =
getParameter("MenuName");
String theFont =
getParameter("Font");
// do something with parameters
}
Applet
Security :
Java
applets execute within a Sandbox
Applets
cannot access the local file system
Applets
cannot connect to systems other than the server from which they were downloaded
Applets
cannot listen for inbound network connections
Applets
cannot spawn processes or load local jar files
Applets
cannot terminate the Java VM
Applets
cannot change the security policy
Signed
applets can be granted more access rights
These
rights are controlled by the SecurityManager
Browser
Issues :
Unfortunately,
Applets are not heavily used
Browsers
support is limited
Browsers
often contain outdated or buggy Java virtual machines
Each
browser has its own compatibility issues.
This usually means that the programmer has to implement workarounds for
the various browsers
Microsoft
has not been very cooperative in terms of ensuring that IE correctly implements
applets. Even the Java plugin has issues
under IE
Because
the AWT and Swing are not highly regarded, use of Java in the client is
minimal.
Comments
Post a Comment