📄 applet.java
字号:
/* * @(#)Applet.java 1.77 04/06/22 * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */package java.applet;import java.awt.*;import java.awt.image.ColorModel;import java.io.IOException;import java.io.ObjectInputStream;import java.net.URL;import java.net.MalformedURLException;import java.util.Hashtable;import java.util.Locale;import javax.accessibility.*;/** * An applet is a small program that is intended not to be run on * its own, but rather to be embedded inside another application. * <p> * The <code>Applet</code> 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 <code>Applet</code> class provides a standard * interface between applets and their environment. * * @author Arthur van Hoff * @author Chris Warth * @version 1.77, 06/22/04 * @since JDK1.0 */public class Applet extends Panel { /** * Creates a new Applet object * @exception HeadlessException if GraphicsEnvironment.isHeadless() * returns true. * @see java.awt.GraphicsEnvironment#isHeadless * @since 1.4 */ public Applet() throws HeadlessException { if (GraphicsEnvironment.isHeadless()) { throw new HeadlessException(); } } /** * Applets can be serialized but the following conventions MUST be followed: * * Before Serialization: * An applet must be in STOPPED state. * * After Deserialization: * The applet will be restored in STOPPED state (and most clients will * likely move it into RUNNING state). * The stub field will be restored by the reader. */ transient private AppletStub stub; /* version ID for serialized form. */ private static final long serialVersionUID = -5836846270535785031L; /** * Read an applet from an object input stream. * @exception HeadlessException if * <code>GraphicsEnvironment.isHeadless()</code> returns * <code>true</code> * @serial * @see java.awt.GraphicsEnvironment#isHeadless * @since 1.4 */ private void readObject(ObjectInputStream s) throws ClassNotFoundException, IOException, HeadlessException { if (GraphicsEnvironment.isHeadless()) { throw new HeadlessException(); } s.defaultReadObject(); } /** * Sets this applet's stub. This is done automatically by the system. * <p>If there is a security manager, its <code> checkPermission </code> * method is called with the * <code>AWTPermission("setAppletStub")</code> * permission if a stub has already been set. * @param stub the new stub. * @exception SecurityException if the caller cannot set the stub */ public final void setStub(AppletStub stub) { if (this.stub != null) { SecurityManager s = System.getSecurityManager(); if (s != null) { s.checkPermission(new AWTPermission("setAppletStub")); } } this.stub = (AppletStub)stub; } /** * Determines if this applet is active. An applet is marked active * just before its <code>start</code> method is called. It becomes * inactive just before its <code>stop</code> method is called. * * @return <code>true</code> if the applet is active; * <code>false</code> otherwise. * @see java.applet.Applet#start() * @see java.applet.Applet#stop() */ public boolean isActive() { if (stub != null) { return stub.isActive(); } else { // If stub field not filled in, applet never active return false; } } /** * Gets the URL of the document in which this applet is embedded. * For example, suppose an applet is contained * within the document: * <blockquote><pre> * http://java.sun.com/products/jdk/1.2/index.html * </pre></blockquote> * The document base is: * <blockquote><pre> * http://java.sun.com/products/jdk/1.2/index.html * </pre></blockquote> * * @return the {@link java.net.URL} of the document that contains this * applet. * @see java.applet.Applet#getCodeBase() */ public URL getDocumentBase() { return stub.getDocumentBase(); } /** * Gets the base URL. This is the URL of the directory which contains this applet. * * @return the base {@link java.net.URL} of * the directory which contains this applet. * @see java.applet.Applet#getDocumentBase() */ public URL getCodeBase() { return stub.getCodeBase(); } /** * Returns the value of the named parameter in the HTML tag. For * example, if this applet is specified as * <blockquote><pre> * <applet code="Clock" width=50 height=50> * <param name=Color value="blue"> * </applet> * </pre></blockquote> * <p> * then a call to <code>getParameter("Color")</code> returns the * value <code>"blue"</code>. * <p> * The <code>name</code> argument is case insensitive. * * @param name a parameter name. * @return the value of the named parameter, * or <code>null</code> if not set. */ public String getParameter(String name) { return stub.getParameter(name); } /** * Determines this applet's context, which allows the applet to * query and affect the environment in which it runs. * <p> * This environment of an applet represents the document that * contains the applet. * * @return the applet's context. */ public AppletContext getAppletContext() { return stub.getAppletContext(); } /** * Requests that this applet be resized. * * @param width the new requested width for the applet. * @param height the new requested height for the applet. */ public void resize(int width, int height) { Dimension d = size(); if ((d.width != width) || (d.height != height)) { super.resize(width, height); if (stub != null) { stub.appletResize(width, height); } } } /** * Requests that this applet be resized. * * @param d an object giving the new width and height. */ public void resize(Dimension d) { resize(d.width, d.height); } /** * 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. * * @param msg a string to display in the status window. */ public void showStatus(String msg) { getAppletContext().showStatus(msg); } /** * Returns an <code>Image</code> object that can then be painted on * the screen. The <code>url</code> that is passed as an argument * must specify an absolute URL. * <p> * 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. * * @param url an absolute URL giving the location of the image. * @return the image at the specified URL. * @see java.awt.Image */ public Image getImage(URL url) { return getAppletContext().getImage(url); } /** * Returns an <code>Image</code> object that can then be painted on * the screen. The <code>url</code> argument must specify an absolute * URL. The <code>name</code> argument is a specifier that is * relative to the <code>url</code> argument. * <p> * 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. * * @param url an absolute URL giving the base location of the image. * @param name the location of the image, relative to the * <code>url</code> argument. * @return the image at the specified URL. * @see java.awt.Image */ public Image getImage(URL url, String name) { try { return getImage(new URL(url, name)); } catch (MalformedURLException e) { return null; } } /** * Get an audio clip from the given URL. * * @param url points to the audio clip * @return the audio clip at the specified URL. * * @since 1.2 */ public final static AudioClip newAudioClip(URL url) { return new sun.applet.AppletAudioClip(url); } /** * Returns the <code>AudioClip</code> object specified by the
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -