Download the JDK
Search the Tutorials
Hide the TOC
Trail: Deployment
Lesson: Applets
Applets
Getting Started with Applets
Importing Classes and Packages for Applets
Defining an Applet Subclass
The Life Cycle of an Applet
Methods for Milestones
Methods for Drawing and Event Handling
Methods for Adding UI Components
What Applets Can and Can't Do
Taking Advantage of the Applet API
Finding and Loading Data Files
Displaying Short Status Strings
Displaying Documents in the Browser
Sending Messages to Other Applets
Playing Sounds
Defining and Using Applet Parameters
Deciding Which Parameters to Support
Writing the Code to Support Parameters
Giving Information about Parameters
Using the APPLET Tag
Practical Considerations When Writing Applets
Security Restrictions
Creating a User Interface
Creating a GUI
Displaying Diagnostics to the Standard Output and Error Streams
Getting System Properties
Threads in Applets
Threads in Applets: Examples
Working with a Server-Side Application
A Simple Network Client Applet
Using a Server to Work Around Security Restrictions
Finishing an Applet
Before You Ship that Applet
The Perfectly Finished Applet
Deploying Applets
General Deployment Considerations
Using the applet Tag
Using the object Tag
Using the embed Tag
Deploying Applets in a Mixed-Browser Environment
Solving Common Applet Problems
Questions and Exercises
Home Page > Deployment > Applets
Solving Common Applet Problems

> This section covers some common problems that you might encounter when writing Java applets. After each problem there is a list of possible solutions.

> Problem: Applet Viewer says there is no `<APPLET>` tag on my HTML page, but it really is there.

> - Check whether you have a closing applet tag: `</APPLET>`.
> Problem: I recompiled my applet, but my applet viewing application would not show the new version, even though I told it to reload it.
> - In many applet viewers (including browsers), reloading is not reliable. This is why we recommend that you simply use the JDK Applet Viewer, invoking it anew every time you change the applet.
> - If you get an old version of the applet, no matter what you do, make sure that you don't have an old copy of the applet in a directory in your `CLASSPATH`. See Managing Source and Class Files for information about the CLASSPATH environment variable.
> Problem: The background color of my applet causes the applet not to match or flicker, when it is drawn on a page of a different color.
> - You need to set the background color of the applet so that it works well with the page color. See Creating a GUI for details.
> Problem: The `Applet` `getImage` method doesn't work.
> - Make sure you're calling `getImage` from the `init` method or a method that's called after `init`. The `getImage` method does not work when it is called from a constructor.
> Problem: Now that I have copied my applet's class file onto my HTTP server, the applet doesn't work.
> - Does your applet define more than one class? If so, make sure that the class file (`ClassName.class`) for each class is on the HTTP server. Even if all the classes are defined in one source file, the compiler produces one class file per class.
> - Did you copy all the data files for your applet — image and sound files, for example — to the server?
> - Make sure all the applet's class and data files can be read by everyone.
> - Make sure the applet's class and data files weren't garbled during the transfer. One common source of trouble is using the ASCII mode of FTP (rather than the BINARY mode) to transfer files.
> Problem: I can't get my applet to run. The browser displays a ClassCastException.
> - If your applet has multiple classes, did you specify the right one (an Applet subclass) in the applet tag's CODE attribute?
> Problem: Applet is not loaded in my webpage. I see the error "java.lang.UnsupportedClassVersionError: Bad version number in .class file" in my Java Console.
> - The problem is that the source for the applet is compiled with a newer version of Java than the one installed on your system. Which JRE version are you using? If it is not the latest version, make sure you install the latest Java(TM) SE Runtime Environment (JRE).

>   Tip for deployers: You can compile your applets with JDK 6 using compile time options as source -1.2 and target -1.2, so that you can run them with the older versions of JRE.

Previous page: Deploying Applets in a Mixed-Browser Environment
Next page: Questions and Exercises: Java Applets