The Java Tutorials have been written for JDK 8. Examples and practices described in this page don't take advantage of improvements introduced in later releases and might use technology no longer available.
See Java Language Changes for a summary of updated language features in Java SE 9 and subsequent releases.
See JDK Release Notes for information about new features, enhancements, and removed or deprecated options for all JDK releases.
Every Java applet must define a subclass of the Applet
or JApplet
class. In the Hello World applet, this subclass is called HelloWorld
. The following is the source for the
class.HelloWorld
import javax.swing.JApplet; import javax.swing.SwingUtilities; import javax.swing.JLabel; public class HelloWorld extends JApplet { //Called when this applet is loaded into the browser. public void init() { //Execute a job on the event-dispatching thread; creating this applet's GUI. try { SwingUtilities.invokeAndWait(new Runnable() { public void run() { JLabel lbl = new JLabel("Hello World"); add(lbl); } }); } catch (Exception e) { System.err.println("createGUI didn't complete successfully"); } } }
Java applets inherit significant functionality from the Applet
or JApplet
class, including the capabilities to communicate with the browser and present a graphical user interface (GUI) to the user.
An applet that will be using GUI components from Swing (Java's GUI toolkit) should extend the
javax.swing.JApplet
base class, which provides the best integration with Swing's GUI facilities.
JApplet
provides a root pane, which is the same top-level component structure as Swing's JFrame
and JDialog
components, whereas Applet
provides just a basic panel. See
How to Use Root Panes for more details on how to use this feature.
An applet can extend the
java.applet.Applet
class when it does not use Swing's GUI components.