Making an Applet Show a Document
Problem
You want an applet to transfer control to another web page.
Solution
Use the AppletContext
method
showDocument( )
.
Discussion
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 ...
Get Java Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.