This section covers some common problems that you might encounter when writing Java applets. After each problem is a list of possible solutions.Problem: Applet Viewer says there's no
<APPLET>
tag on my HTML page, but it really is there.Problem: I recompiled my applet, but my applet viewing application won't show the new version, even though I told it to reload it.
- Check whether you have a closing applet tag:
</APPLET>
.Problem: The light gray background of my applet causes the applet to flicker when it's drawn on a page of a different color.
- In many applet viewers (including browsers), reloading isn't 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've 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's called from a constructor.Problem: I can't get my applet to run. The browser displays a ClassCastException.
- Does you 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.
Other problems that affect applets are discussed in the Creating a User Interface trail. Specifically, look at whichever of the following sections are related to your problem: Common Component Problems, Common Layout Problems, Common Graphics Problems.
- If your applet has multiple classes, did you specify the right one (an Applet subclass) in the applet tag's CODE attribute?