跳到主要内容

JEP 398: Deprecate the Applet API for Removal

Summary

Deprecate the Applet API for removal. It is essentially irrelevant since all web-browser vendors have either removed support for Java browser plug-ins or announced plans to do so.

History

The Applet API was previously deprecated, though not for removal, by JEP 289 in Java 9.

Description

Deprecate, for removal, these classes and interfaces of the standard Java API:

  • java.applet.Applet
  • java.applet.AppletStub
  • java.applet.AppletContext
  • java.applet.AudioClip
  • javax.swing.JApplet
  • java.beans.AppletInitializer

Deprecate, for removal, any API elements that reference the above classes and interfaces, including methods and fields in:

  • java.beans.Beans
  • javax.swing.RepaintManager
  • javax.naming.Context

Testing

Hundreds of tests need to be either modified or removed before the Applet API is removed, but this JEP is solely about deprecation-for-removal. We will review these tests to determine if further @SuppressWarnings annotations are required.

Risks and Assumptions

In case remaining uses of these APIs do exist, developers can suppress compiler warnings via the @SuppressWarnings("removal") annotation or the -Xlint:-removal command-line option of the javac compiler.