June 2001
Intermediate to advanced
888 pages
21h 1m
English
You want an applet to transfer control to another web page.
Use the AppletContext method
showDocument( )
.
Any applet can request the browser that contains it to show a new web
page by passing the new URL into the showDocument( ) method. Usually, the browser replaces the current page
with the target page. This, of course, triggers a call to the
applet’s stop( ) method.
Note that the applet shown in Example 17-3 only works correctly in a full browser; the AppletViewer does not display HTML pages, so it ignores this method!
Example 17-3. ShowDocApplet.java
/** ShowDocApplet: Demonstrate showDocument( ).
*/
public class ShowDocApplet extends Applet {
// String targetString = "http://www.darwinsys.com/javacook/secret.html";
String targetString = "file:///c:/javasrc/network/ShowDocApplet.java";
/** The URL to go to */
URL targetURL;
/** Initialize the Applet */
public void init( ) {
setBackground(Color.gray);
try {
targetURL = new URL(targetString);
} catch (MalformedURLException mfu) {
throw new IllegalArgumentException(
"ShowDocApplet got bad URL " + targetString);
}
Button b = new Button("View Secret");
add(b);
b.addActionListener(new ActionListener( ) {
public void actionPerformed(ActionEvent e) {
getAppletContext( ).showDocument(targetURL);
}
});
}
public void stop( ) {
System.out.println("Ack! Its been fun being an Applet. Goodbye!");
}
}Figure 17-2 shows the program in operation.
Figure 17-2. ShowDocApplet program
If the ...