O'Reilly logo

Java Cookbook by Ian F. Darwin

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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 ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required