|Overview of Applets|
Once you've written some code for your applet, you'll want to run your applet to test it. To run an applet in a browser or in the JDK Applet Viewer, the applet needs to be added to an HTML page, using the
<APPLET>tag. You then specify the URL of the HTML page to your browser or the Applet Viewer.
Note: Some browsers don't support easy, guaranteed reloading of applets. For this reason, it often makes sense to test applets in the Applet Viewer until the applet reaches a point where you need to test it in a browser.
This page tells you most of what you need to know to use the
<APPLET>tag. It starts by showing you the tag's simplest form, and then discusses some of the most common additions to that simple form--the
<PARAM>tag, and alternate HTML code. For a detailed description of the
<APPLET>tag, refer to The
The Simplest Possible
<APPLET>TagHere's the simplest form of the
<APPLET>tag:The above tag tells the browser or applet viewer to load the applet whose<APPLET CODE=AppletSubclass.class WIDTH=anInt HEIGHT=anInt> </APPLET>
Appletsubclass, named AppletSubclass, is in a class file in the same directory as the HTML document that contains the tag. The above tag also specifies the width and height in pixels of the applet.
When a browser encounters the tag, it reserves a display area of the specified width and height for the applet, loads the bytecodes for the specified Applet subclass, creates an instance of the subclass, and then calls the instance's
Specifying the Applet Directory with
CODEBASEHere's a slightly more complex applet tag. It adds a
CODEBASEattribute to tell the browser/viewer which directory the Applet subclass bytecodes are in.By making aURL an absolute URL, you can make a document loaded from your HTTP server run an applet from another HTTP server. If aURL is a relative URL, then it's interpreted relative to the HTML document's location.<APPLET CODE=AppletSubclass.class CODEBASE=aURL WIDTH=anInt HEIGHT=anInt> </APPLET>
This tutorial uses
CODEBASE=someDirectory/frequently, since we put our examples in a subdirectory of the directory that contains the HTML documents. For example, here's the
<APPLET>tag that includes the Simple applet in The Life Cycle of an Applet, earlier in this trail:
<APPLET CODE=Simple.class CODEBASE=example/ WIDTH=500 HEIGHT=20> </APPLET>
Specifying Parameters with the
<PARAM>TagSome applets let the user customize the applet's configuration with parameters. For example,
AppletButton(an applet used throughout this tutorial to provide a button that brings up a window) allows the user to set the button's text by specifying the value of a parameter named
BUTTONTEXT. You'll learn how to write the code to provide parameters in Defining and Using Applet Parameters.
Here's an example of the format of the
<PARAM>tag. Note that
<PARAM>tags must appear between the
</APPLET>tags for the applet they affect.<APPLET CODE=AppletSubclass.class WIDTH=anInt HEIGHT=anInt> <PARAM NAME=parameter1Name VALUE=aValue> <PARAM NAME=parameter2Name VALUE=anotherValue> </APPLET>
Here's an example of the
<PARAM>tag in use. It's taken from a page in the UI trail.<APPLET CODE=AppletButton.class CODEBASE=example WIDTH=350 HEIGHT=60> <PARAM NAME=windowType VALUE=BorderWindow> <PARAM NAME=windowText VALUE="BorderLayout"> <PARAM NAME=buttonText VALUE="Click here to see a BorderLayout in action"> . . . </APPLET>
Specifying Text to be Displayed by Java-Deficient BrowsersNote the ellipsis (". . .") in the
AppletButtonHTML example above. What did the example leave out? Alternate HTML code -- HTML code interpreted only by browsers that don't understand the
If the page that contains your applet might be seen by people running non-Java-compatible browsers, you should provide alternate HTML code so that the page still makes sense. Alternate HTML code is any text between
</APPLET>tags, except for
<PARAM>tags. Java-compatible browsers ignore alternate HTML code.
We use alternate HTML code throughout the online version of this tutorial to tell readers about the applet they're missing and, if it's helpful, to provide a picture of the applet. Here's the full HTML code for the
AppletButtonexample shown previously:An applet that doesn't understand the<APPLET CODE=AppletButton.class CODEBASE=example WIDTH=350 HEIGHT=60> <PARAM NAME=windowType VALUE=BorderWindow> <PARAM NAME=windowText VALUE="BorderLayout"> <PARAM NAME=buttonText VALUE="Click here to see a BorderLayout in action"> <HR> <EM> Your browser can't run 1.0 Java applets, so here's a picture of the window the program brings up:</em> <P> <IMG SRC=images/BorderEx1.gif WIDTH=302 HEIGHT=138> <HR> </APPLET>
<APPLET>tag ignores everything until
<HR>. An applet that does understand the
<APPLET>tag ignores everything between
Overview of Applets