También son interesantes los métodos showDocument de AppletContext. Con estos métodos, un applet puede controlar la dirección URL que mostrará el navegador, y en que ventana del navegador. (Por supuesto, el Applet Viewer ignora estos métodos, ya que no es un navegador de Web). Aquí tienes dos formas de showDocument():
public void showDocument(java.net.URL url)
public void showDocument(java.net.URL url, String targetWindow)
La forma de un sólo argumento de showDocument() sólo le dice al navegador que muestre la URL especificada, sin especificar la ventana en la que se mostrará el documento.
La forma de dos argumentos de showDocument() le permite especifar la ventana o marco HTML se mostrará el documento. El segundo argumento debe ser uno de los valores mostrados abajo.
Nota de Terminología: En está explicación, marco no se refiere a un marco del AWT sino a un marco HTML dentro de una ventana den navegador.
Abajo hay un applet que te permite probar cada opción de las dos formas de showDocument(). Trae una ventana que le permite teclear una URL y elegir una de las opciones de showDocument(). Cuando pulses la tecla return o el botón Show document, el applet llama al método showDocument().
Abajo tienes el código del applet que llama a showDocument(). (Aquí tienes el programa completo)
...//En una subclase de Applet:
urlWindow = new URLWindow(getAppletContext());
. . .
class URLWindow extends Frame {
. . .
public URLWindow(AppletContext appletContext) {
. . .
this.appletContext = appletContext;
. . .
}
. . .
public boolean action(Event event, Object o) {
. . .
String urlString = /* Cadena introducida por el usuario */;
URL url = null;
try {
url = new URL(urlString);
} catch (MalformedURLException e) {
...//Informa al usuario y retorna...
}
if (url != null) {
if (/* el usuario no quiere especificar una ventana */) {
appletContext.showDocument(url);
} else {
appletContext.showDocument(url, /* user-specified window */);
}
}
. . .