# Class Applet

java.lang.Object
java.awt.Component
java.awt.Container
java.awt.Panel
java.applet.Applet

All Implemented Interfaces:
  `ImageObserver, MenuContainer, Serializable, Accessible`

Direct Known Subclasses:
  `JApplet`

@Deprecated(since="9", forRemoval=true) public class Applet extends Panel
Deprecated, for removal: This API element is subject to removal in a future version.
The Applet API is deprecated, no replacement.
An applet is a small program that is intended not to be run on its own, but rather to be embedded inside another application.

The `Applet` class must be the superclass of any applet that is to be embedded in a Web page or viewed by the Java Applet Viewer. The `Applet` class provides a standard interface between applets and their environment.

Since:
  1.0
See Also:
  - Serialized Form

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `protected class`
  `Applet.AccessibleApplet`
  Deprecated, for removal: This API element is subject to removal in a future version.
  This class implements accessibility support for the `Applet` class.

  ### Nested classes/interfaces declared in class Panel

  `Panel.AccessibleAWTPanel`

  ### Nested classes/interfaces declared in class Container

  `Container.AccessibleAWTContainer`

  ### Nested classes/interfaces declared in class Component

  `Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy`

- ## Field Summary

  ### Fields declared in class Component

  `BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`

  ### Fields declared in interface ImageObserver

  `ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Applet()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Constructs a new Applet.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `destroy()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Called by the browser or applet viewer to inform this applet that it is being reclaimed and that it should destroy any resources that it has allocated.
  `AccessibleContext`
  `getAccessibleContext()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Gets the `AccessibleContext` associated with this `Applet`.
  `AppletContext`
  `getAppletContext()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Determines this applet's context, which allows the applet to query and affect the environment in which it runs.
  `String`
  `getAppletInfo()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Returns information about this applet.
  `AudioClip`
  `getAudioClip(URL url)`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Returns the `AudioClip` object specified by the `URL` argument.
  `AudioClip`
  `getAudioClip(URL url, String name)`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Returns the `AudioClip` object specified by the `URL` and `name` arguments.
  `URL`
  `getCodeBase()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Gets the base `URL`.
  `URL`
  `getDocumentBase()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Gets the `URL` of the document in which this applet is embedded.
  `Image`
  `getImage(URL url)`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Returns an `Image` object that can then be painted on the screen.
  `Image`
  `getImage(URL url, String name)`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Returns an `Image` object that can then be painted on the screen.
  `Locale`
  `getLocale()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Gets the locale of the applet.
  `String`
  `getParameter(String name)`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Returns the value of the named parameter in the HTML tag.
  `String[][]`
  `getParameterInfo()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Returns information about the parameters that are understood by this applet.
  `void`
  `init()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Called by the browser or applet viewer to inform this applet that it has been loaded into the system.
  `boolean`
  `isActive()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Determines if this applet is active.
  `boolean`
  `isValidateRoot()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Indicates if this container is a validate root.
  `static final AudioClip`
  `newAudioClip(URL url)`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Get an audio clip from the given `URL`.
  `void`
  `play(URL url)`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Plays the audio clip at the specified absolute `URL`.
  `void`
  `play(URL url, String name)`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Plays the audio clip given the `URL` and a specifier that is relative to it.
  `void`
  `resize(int width, int height)`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Requests that this applet be resized.
  `void`
  `resize(Dimension d)`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Requests that this applet be resized.
  `final void`
  `setStub(AppletStub stub)`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Sets this applet's stub.
  `void`
  `showStatus(String msg)`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Requests that the argument string be displayed in the "status window".
  `void`
  `start()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Called by the browser or applet viewer to inform this applet that it should start its execution.
  `void`
  `stop()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Called by the browser or applet viewer to inform this applet that it should stop its execution.

  ### Methods declared in class Panel

  `addNotify`

  ### Methods declared in class Container

  `add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getListeners, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusDownCycle, update, validate, validateTree`

  ### Methods declared in class Component

  `action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, reshape, revalidate, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setMixingCutoutShape, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle`

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### Applet

    public Applet() throws HeadlessException
    Deprecated, for removal: This API element is subject to removal in a future version.
    Constructs a new Applet.

    Note: Many methods in `java.applet.Applet` may be invoked by the applet only after the applet is fully constructed; applet should avoid calling methods in `java.applet.Applet` in the constructor.

    Throws:
      `HeadlessException` - if `GraphicsEnvironment.isHeadless()` returns `true`
    Since:
      1.4
    See Also:
      - `GraphicsEnvironment.isHeadless()`

- ## Method Details

  - ### setStub

    public final void setStub(AppletStub stub)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Sets this applet's stub. This is done automatically by the system.
    Parameters:
      `stub` - the new stub

  - ### isActive

    public boolean isActive()
    Deprecated, for removal: This API element is subject to removal in a future version.
    Determines if this applet is active. An applet is marked active just before its `start` method is called. It becomes inactive just before its `stop` method is called.
    Returns:
      `true` if the applet is active; `false` otherwise
    See Also:
      - `start()`
      - `stop()`

  - ### getDocumentBase

    public URL getDocumentBase()
    Deprecated, for removal: This API element is subject to removal in a future version.
    Gets the `URL` of the document in which this applet is embedded. For example, suppose an applet is contained within the document:

    >        http://www.oracle.com/technetwork/java/index.html

    The document base is:

    >        http://www.oracle.com/technetwork/java/index.html

    Returns:
      the `URL` of the document that contains this applet
    See Also:
      - `getCodeBase()`

  - ### getCodeBase

    public URL getCodeBase()
    Deprecated, for removal: This API element is subject to removal in a future version.
    Gets the base `URL`. This is the `URL` of the directory which contains this applet.
    Returns:
      the base `URL` of the directory which contains this applet
    See Also:
      - `getDocumentBase()`

  - ### getParameter

    public String getParameter(String name)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Returns the value of the named parameter in the HTML tag. For example, if this applet is specified as

    >     <applet code="Clock" width=50 height=50>
    >     <param name=Color value="blue">
    >     </applet>

    then a call to `getParameter("Color")` returns the value `"blue"`.

    The `name` argument is case insensitive.

    Parameters:
      `name` - a parameter name
    Returns:
      the value of the named parameter, or `null` if not set

  - ### getAppletContext

    public AppletContext getAppletContext()
    Deprecated, for removal: This API element is subject to removal in a future version.
    Determines this applet's context, which allows the applet to query and affect the environment in which it runs.

    This environment of an applet represents the document that contains the applet.

    Returns:
      the applet's context

  - ### resize

    public void resize(int width, int height)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Requests that this applet be resized.
    Overrides:
      `resize` in class `Component`
    Parameters:
      `width` - the new requested width for the applet
      `height` - the new requested height for the applet

  - ### resize

    public void resize(Dimension d)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Requests that this applet be resized.
    Overrides:
      `resize` in class `Component`
    Parameters:
      `d` - an object giving the new width and height

  - ### isValidateRoot

    public boolean isValidateRoot()
    Deprecated, for removal: This API element is subject to removal in a future version.
    Indicates if this container is a validate root.

    `Applet` objects are the validate roots, and, therefore, they override this method to return `true`.

    Overrides:
      `isValidateRoot` in class `Container`
    Returns:
      `true`
    Since:
      1.7
    See Also:
      - `Container.isValidateRoot()`

  - ### showStatus

    public void showStatus(String msg)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Requests that the argument string be displayed in the "status window". Many browsers and applet viewers provide such a window, where the application can inform users of its current state.
    Parameters:
      `msg` - a string to display in the status window

  - ### getImage

    public Image getImage(URL url)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Returns an `Image` object that can then be painted on the screen. The `url` that is passed as an argument must specify an absolute `URL`.

    This method always returns immediately, whether or not the image exists. When this applet attempts to draw the image on the screen, the data will be loaded. The graphics primitives that draw the image will incrementally paint on the screen.

    Parameters:
      `url` - an absolute `URL` giving the location of the image
    Returns:
      the image at the specified `URL`
    See Also:
      - `Image`

  - ### getImage

    public Image getImage(URL url, String name)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Returns an `Image` object that can then be painted on the screen. The `url` argument must specify an absolute `URL`. The `name` argument is a specifier that is relative to the `url` argument.

    This method always returns immediately, whether or not the image exists. When this applet attempts to draw the image on the screen, the data will be loaded. The graphics primitives that draw the image will incrementally paint on the screen.

    Parameters:
      `url` - an absolute URL giving the base location of the image
      `name` - the location of the image, relative to the `url` argument
    Returns:
      the image at the specified `URL`
    See Also:
      - `Image`

  - ### newAudioClip

    public static final AudioClip newAudioClip(URL url)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Get an audio clip from the given `URL`.
    Parameters:
      `url` - points to the audio clip
    Returns:
      the audio clip at the specified `URL`
    Since:
      1.2

  - ### getAudioClip

    public AudioClip getAudioClip(URL url)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Returns the `AudioClip` object specified by the `URL` argument.

    This method always returns immediately, whether or not the audio clip exists. When this applet attempts to play the audio clip, the data will be loaded.

    Parameters:
      `url` - an absolute `URL` giving the location of the audio clip
    Returns:
      the audio clip at the specified `URL`
    See Also:
      - `AudioClip`

  - ### getAudioClip

    public AudioClip getAudioClip(URL url, String name)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Returns the `AudioClip` object specified by the `URL` and `name` arguments.

    This method always returns immediately, whether or not the audio clip exists. When this applet attempts to play the audio clip, the data will be loaded.

    Parameters:
      `url` - an absolute `URL` giving the base location of the audio clip
      `name` - the location of the audio clip, relative to the `url` argument
    Returns:
      the audio clip at the specified `URL`
    See Also:
      - `AudioClip`

  - ### getAppletInfo

    public String getAppletInfo()
    Deprecated, for removal: This API element is subject to removal in a future version.
    Returns information about this applet. An applet should override this method to return a `String` containing information about the author, version, and copyright of the applet.

    The implementation of this method provided by the `Applet` class returns `null`.

    Returns:
      a string containing information about the author, version, and copyright of the applet

  - ### getLocale

    public Locale getLocale()
    Deprecated, for removal: This API element is subject to removal in a future version.
    Gets the locale of the applet. It allows the applet to maintain its own locale separated from the locale of the browser or appletviewer.
    Overrides:
      `getLocale` in class `Component`
    Returns:
      the locale of the applet; if no locale has been set, the default locale is returned
    Since:
      1.1
    See Also:
      - `Component.setLocale(Locale)`

  - ### getParameterInfo

    public String[][] getParameterInfo()
    Deprecated, for removal: This API element is subject to removal in a future version.
    Returns information about the parameters that are understood by this applet. An applet should override this method to return an array of strings describing these parameters.

    Each element of the array should be a set of three strings containing the name, the type, and a description. For example:

    >     String pinfo[][] = {
    >       {"fps",    "1-10",    "frames per second"},
    >       {"repeat", "boolean", "repeat image loop"},
    >       {"imgs",   "url",     "images directory"}
    >     };

    The implementation of this method provided by the `Applet` class returns `null`.

    Returns:
      an array describing the parameters this applet looks for

  - ### play

    public void play(URL url)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Plays the audio clip at the specified absolute `URL`. Nothing happens if the audio clip cannot be found.
    Parameters:
      `url` - an absolute `URL` giving the location of the audio clip

  - ### play

    public void play(URL url, String name)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Plays the audio clip given the `URL` and a specifier that is relative to it. Nothing happens if the audio clip cannot be found.
    Parameters:
      `url` - an absolute `URL` giving the base location of the audio clip
      `name` - the location of the audio clip, relative to the `url` argument

  - ### init

    public void init()
    Deprecated, for removal: This API element is subject to removal in a future version.
    Called by the browser or applet viewer to inform this applet that it has been loaded into the system. It is always called before the first time that the `start` method is called.

    A subclass of `Applet` should override this method if it has initialization to perform. For example, an applet with threads would use the `init` method to create the threads and the `destroy` method to kill them.

    The implementation of this method provided by the `Applet` class does nothing.

    See Also:
      - `destroy()`
      - `start()`
      - `stop()`

  - ### start

    public void start()
    Deprecated, for removal: This API element is subject to removal in a future version.
    Called by the browser or applet viewer to inform this applet that it should start its execution. It is called after the `init` method and each time the applet is revisited in a Web page.

    A subclass of `Applet` should override this method if it has any operation that it wants to perform each time the Web page containing it is visited. For example, an applet with animation might want to use the `start` method to resume animation, and the `stop` method to suspend the animation.

    Note: some methods, such as `getLocationOnScreen`, can only provide meaningful results if the applet is showing. Because `isShowing` returns `false` when the applet's `start` is first called, methods requiring `isShowing` to return `true` should be called from a `ComponentListener`.

    The implementation of this method provided by the `Applet` class does nothing.

    See Also:
      - `destroy()`
      - `init()`
      - `stop()`
      - `Component.isShowing()`
      - `ComponentListener.componentShown(ComponentEvent)`

  - ### stop

    public void stop()
    Deprecated, for removal: This API element is subject to removal in a future version.
    Called by the browser or applet viewer to inform this applet that it should stop its execution. It is called when the Web page that contains this applet has been replaced by another page, and also just before the applet is to be destroyed.

    A subclass of `Applet` should override this method if it has any operation that it wants to perform each time the Web page containing it is no longer visible. For example, an applet with animation might want to use the `start` method to resume animation, and the `stop` method to suspend the animation.

    The implementation of this method provided by the `Applet` class does nothing.

    See Also:
      - `destroy()`
      - `init()`

  - ### destroy

    public void destroy()
    Deprecated, for removal: This API element is subject to removal in a future version.
    Called by the browser or applet viewer to inform this applet that it is being reclaimed and that it should destroy any resources that it has allocated. The `stop` method will always be called before `destroy`.

    A subclass of `Applet` should override this method if it has any operation that it wants to perform before it is destroyed. For example, an applet with threads would use the `init` method to create the threads and the `destroy` method to kill them.

    The implementation of this method provided by the `Applet` class does nothing.

    See Also:
      - `init()`
      - `start()`
      - `stop()`

  - ### getAccessibleContext

    public AccessibleContext getAccessibleContext()
    Deprecated, for removal: This API element is subject to removal in a future version.
    Gets the `AccessibleContext` associated with this `Applet`. For applets, the `AccessibleContext` takes the form of an `AccessibleApplet`. A new `AccessibleApplet` instance is created if necessary.
    Specified by:
      `getAccessibleContext` in interface `Accessible`
    Overrides:
      `getAccessibleContext` in class `Panel`
    Returns:
      an `AccessibleApplet` that serves as the `AccessibleContext` of this `Applet`
    Since:
      1.3