JEP 289: Deprecate the Applet API
Owner | Daniil Titov |
Type | Feature |
Scope | SE |
Status | Closed / Delivered |
Release | 9 |
Component | client-libs |
Discussion | jdk9 dash dev at openjdk dot java dot net |
Effort | XS |
Duration | XS |
Relates to | JEP 398: Deprecate the Applet API for Removal |
Reviewed by | Andy Herrick, David Dehaven, Kevin Rushforth, Stuart Marks |
Endorsed by | Kevin Rushforth |
Created | 2016/02/09 22:36 |
Updated | 2020/11/10 21:14 |
Issue | 8149502 |
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.