
Call Us Toll-Free (877) 256-0328
Outside USA 1 - (201) 505-0430
Site Map
|
 |
 |
 |
 |
 |
Creating a GUI (The Java™ Tutorials >
Deployment > Applets)
Home Page
>
Deployment
>
Applets
Creating a GUI
This page discusses the few issues
that are particular to applet GUIs.
Some of the information in this section
might not make sense until you've read the
Creating a GUI with JFC/Swing trail and, in particular, the
How to Make Applets section.
That trail discusses all the GUI concepts referred to on this page.
- Applets appear in pre-existing browser windows.
- This has two implications.
First, unlike GUI-based applications,
applets don't have to create a window in which to display themselves.
They can, if they have a good reason,
but they often just display themselves within the browser window.
Second, depending on the browser implementation,
your applet's components might not be shown
unless your applet calls
validate
after adding components to itself.
Fortunately, calling validate can't hurt.
- The applet background color might not match the page color.
- By default, applets have a white background color.
HTML pages, however, can have other background colors
and can use background patterns.
If the applet designer and page designer
aren't careful,
the applet's different background color
can cause it to stick out on the page
or cause noticeable flashing when the applet is drawn.
One solution is to define an applet parameter
that specifies the applet's background color.
The
JApplet class can use JComponent's
setBackground method
to set the applet's background to the color specified in the web page.
Using the background color parameter,
the page designer can choose an applet color
that works well with the page colors.
You'll learn about parameters in
Defining and Using Applet Parameters.
- Each applet has a user-specified, pre-determined size.
- The
<APPLET> tag requires that the applet's
width and height be specified. The web designer can set an applet's size by pixels, or by indicating a percentage of the browser window. Note that even if the amount of space is ideal for one platform,
the platform-specific parts of the applet
(such as buttons)
might require a different amount of space on another platform.
You can compensate by recommending
that pages that include your applet
specify a little more space
than might be necessary,
and by using flexible layouts,
such as the GridBagLayout and BorderLayout classes,
that adapt well to extra space.
- Applets load images
using the
Applet getImage methods.
- The
Applet class provides a convenient form of getImage
that lets you specify a base URL as one argument,
followed by a second argument
that specifies the image file location, relative to the base URL.
The Applet getCodeBase
and getDocumentBase methods
provide the base URLs that most applets use.
Images that an applet always needs,
or needs to rely on as a backup,
are usually specified relative
to where the applet's code was loaded from
(the code base).
Images that are specified by the applet user
(often with parameters in the HTML file)
are usually relative
to the page that includes the applet
(the document base).
- Applet classes (and often the data files they use)
are loaded over the network, which can be slow.
- Applets can do several things to decrease the perceived startup time.
The
Applet subclass can be a small one
that immediately displays a status message.
If some of the applet's classes or data aren't used right away,
the applet can preload the classes or data
in a background thread.
For example, if an applet
class start method
launches a thread that
gets the
Class object for a window, then the
applet's main purpose in doing so
is to make sure the class name the user specified is valid.
An added benefit is that getting the Class object forces
the class file to be loaded before the class is instantiated.
When the user requests that the window be created,
the applet instantiates the window class much quicker
than if the applet still had to load the window class file.
|