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.Problem: I recompiled my applet, but my applet viewing application would not show the new version, even though I told it to reload it.
- Check whether you have a closing applet tag:
</APPLET>
.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.
- 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
- 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.
Applet
getImage
method doesn't work.Problem: Now that I have copied my applet's class file onto my HTTP server, the applet doesn't work.
- Make sure you're calling
getImage
from theinit
method or a method that's called afterinit
. ThegetImage
method does not work when it is called from a constructor.Problem: I can't get my applet to run. The browser displays a ClassCastException.
- 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: Applet is not loaded in my webpage. I see the error "java.lang.UnsupportedClassVersionError: Bad version number in .class file" in my Java Console.
- If your applet has multiple classes, did you specify the right one (an Applet subclass) in the applet tag's CODE attribute?
- 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.