Question: I have a Java applet consisting of a wizard-like form with three steps. At the final step, the user can click a "finish" button. I want that button to cause the web browser to navigate to a specific URL.

**Question:** Is there a way to cause the browser to navigate to a specific URL, in such a way that it will work across all modern browsers? My specific browser requirements are FF3+, IE7+, Safari 3+, and Opera 9+. I am using Java 1.5.

Answer: 
From the applet you can simply get the applet context and call [showDocument(url)](http://java.sun.com/javase/6/docs/api/java/applet/AppletContext.html#showDocument(java.net.URL)).

This will navigate away from the current page to the specified URL:

```
getAppletContext().showDocument(url);

```

Additionally you can pass a [target](http://java.sun.com/javase/6/docs/api/java/applet/AppletContext.html#showDocument(java.net.URL,%20java.lang.String)) parameter.

To visit a relative URL you can use:

```
URL url = new URL(getCodeBase().getProtocol(),
                          getCodeBase().getHost(),
                          getCodeBase().getPort(),
                          "/next.html");
getAppletContext().showDocument(url);

```

These work in every major browser since Java version 1.1.
You could initiate the wizard from within JavaScript and have the applet return the execution flow to the JavaScript caller on clicking the 'Finish' button. Once you are in JavaScript you could then navigate to a new location, either by doing a form post or by doing changing the window.location property.

In the worst case, you could examine the use of [LiveConnect](http://java.sun.com/products/plugin/1.3/docs/jsobject.html), but I would touch it with a 10 foot pole.

---

**Update on LiveConnect**

The original LiveConnect seems to be limited by nature to browsers running on Windows, and will probably work only on NN and IE. [Some of those bugs have been fixed recently](https://developer.mozilla.org/en/LiveConnect), but browser compatibility will continue to be an issue.