Summary

Deprecate the Applet API, which is rapidly becoming irrelevant as web-browser vendors remove support for Java browser plug-ins. Guide developers to alternative technologies such as Java Web Start or installable applications.

Motivation

To run a Java applet in a web browser requires the use of a browser plug-in. As of late 2015, however, many browser vendors have either already removed plug-in support or else announced timelines for such removal. Once browser plug-ins disappear, there will be no reason to use the Applet API.

Description

Add the @Deprecated(since="9") annotation to the following classes:

java.applet.AppletStub

java.applet.Applet

java.applet.AudioClip

java.applet.AppletContext

javax.swing.JApplet

We do not intend to remove the Applet API in the next major release, hence we will not specify forRemoval = true in these annotations. If at some later point we do propose to remove this API then we will add forRemoval = true to these annotations at least one major release in advance.

The appletviewer tool will also be deprecated. A deprecation warning will be printed to the standard error stream when the tool is started.

Risks and Assumptions

These annotations will cause deprecation warnings to be emitted by the Java compiler for all code that uses this API. If warnings are treated as errors, they will result in the build failure.