001: /*
002: * @(#)AppletContext.java 1.32 06/10/10
003: *
004: * Copyright 1990-2006 Sun Microsystems, Inc. All Rights Reserved.
005: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER
006: *
007: * This program is free software; you can redistribute it and/or
008: * modify it under the terms of the GNU General Public License version
009: * 2 only, as published by the Free Software Foundation.
010: *
011: * This program is distributed in the hope that it will be useful, but
012: * WITHOUT ANY WARRANTY; without even the implied warranty of
013: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
014: * General Public License version 2 for more details (a copy is
015: * included at /legal/license.txt).
016: *
017: * You should have received a copy of the GNU General Public License
018: * version 2 along with this work; if not, write to the Free Software
019: * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
020: * 02110-1301 USA
021: *
022: * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
023: * Clara, CA 95054 or visit www.sun.com if you need additional
024: * information or have any questions.
025: *
026: */
027:
028: package java.applet;
029:
030: import java.awt.Image;
031: import java.awt.Graphics;
032: import java.awt.image.ColorModel;
033: import java.net.URL;
034: import java.util.Enumeration;
035:
036: /**
037: * This interface corresponds to an applet's environment: the
038: * document containing the applet and the other applets in the same
039: * document.
040: * <p>
041: * The methods in this interface can be used by an applet to obtain
042: * information about its environment.
043: *
044: * @author Arthur van Hoff
045: * @version 1.28, 08/19/02
046: * @since JDK1.0
047: */
048: public interface AppletContext {
049: /**
050: * Creates an audio clip.
051: *
052: * @param url an absolute URL giving the location of the audio clip.
053: * @return the audio clip at the specified URL.
054: */
055: AudioClip getAudioClip(URL url);
056:
057: /**
058: * Returns an <code>Image</code> object that can then be painted on
059: * the screen. The <code>url</code> argument<code> </code>that is
060: * passed as an argument must specify an absolute URL.
061: * <p>
062: * This method always returns immediately, whether or not the image
063: * exists. When the applet attempts to draw the image on the screen,
064: * the data will be loaded. The graphics primitives that draw the
065: * image will incrementally paint on the screen.
066: *
067: * @param url an absolute URL giving the location of the image.
068: * @return the image at the specified URL.
069: * @see java.awt.Image
070: */
071: Image getImage(URL url);
072:
073: /**
074: * Finds and returns the applet in the document represented by this
075: * applet context with the given name. The name can be set in the
076: * HTML tag by setting the <code>name</code> attribute.
077: *
078: * @param name an applet name.
079: * @return the applet with the given name, or <code>null</code> if
080: * not found.
081: */
082: Applet getApplet(String name);
083:
084: /**
085: * Finds all the applets in the document represented by this applet
086: * context.
087: *
088: * @return an enumeration of all applets in the document represented by
089: * this applet context.
090: */
091: Enumeration getApplets();
092:
093: /**
094: * Replaces the Web page currently being viewed with the given URL.
095: * This method may be ignored by applet contexts that are not
096: * browsers.
097: *
098: * @param url an absolute URL giving the location of the document.
099: */
100: void showDocument(URL url);
101:
102: /**
103: * Requests that the browser or applet viewer show the Web page
104: * indicated by the <code>url</code> argument. The
105: * <code>target</code> argument indicates in which HTML frame the
106: * document is to be displayed.
107: * The target argument is interpreted as follows:
108: * <p>
109: * <center><table border="3">
110: * <tr><td><code>"_self"</code> <td>Show in the window and frame that
111: * contain the applet.</tr>
112: * <tr><td><code>"_parent"</code><td>Show in the applet's parent frame. If
113: * the applet's frame has no parent frame,
114: * acts the same as "_self".</tr>
115: * <tr><td><code>"_top"</code> <td>Show in the top-level frame of the applet's
116: * window. If the applet's frame is the
117: * top-level frame, acts the same as "_self".</tr>
118: * <tr><td><code>"_blank"</code> <td>Show in a new, unnamed
119: * top-level window.</tr>
120: * <tr><td><i>name</i><td>Show in the frame or window named <i>name</i>. If
121: * a target named <i>name</i> does not already exist, a
122: * new top-level window with the specified name is created,
123: * and the document is shown there.</tr>
124: * </table> </center>
125: * <p>
126: * An applet viewer or browser is free to ignore <code>showDocument</code>.
127: *
128: * @param url an absolute URL giving the location of the document.
129: * @param target a <code>String</code> indicating where to display
130: * the page.
131: */
132: public void showDocument(URL url, String target);
133:
134: /**
135: * Requests that the argument string be displayed in the
136: * "status window". Many browsers and applet viewers
137: * provide such a window, where the application can inform users of
138: * its current state.
139: *
140: * @param status a string to display in the status window.
141: */
142: void showStatus(String status);
143: }
|