Dans cette fiche...

<Retour>

Description de l'applet

Difficulté :
Pour finir sur les URLs, voici une fonction générique qui gère les adresses en relatif ou en absolu, avec ou sans frame.

Toutes les notions employées (notamment concernant les chaînes de caractères) ont déjà été abordées dans d'autres fiches.

Listing de l'applet

// --------------------------------------------------
// OUVERTURE D'UNE PAGE HTML EN JAVA
// --------------------------------------------------
import java.applet.*;
import java.net.*;
public class URLComplet extends Applet
{
	String s;
	String f;
	// Initialisation de l'applet
	public void init()
	{
		// Adresse de la page web à charger
		s = "http://www.multimania.com/inisan";
		// Nom de la frame où doit apparaître la page web
		f = "droite";
		// Appeler la fonction qui permet le chargement de la page HTML
		chargerPage(s, f);
		// On aurait bien sûr pu écrire :
		// chargerPage("http://www.multimania.com/inisan", "droite");
	}
	// Fonction permettant de charger une page web locale ou mondiale,
	// avec ou sans frame
	public void chargerPage(String s, String f)
	{
		URL u;
		// Si s est indéfinie, ne pas aller plus loin
		if (s == null) return;
		// Si la frame est indéfinie, prendre _self par défaut
		if (f == null) f = "_self";
		// Construire l'URL et charger la page
		try
		{
			// Construire une URL mondiale (si la chaîne démarre par http://)
			// ou une URL locale (dans le cas contraire)
			if (s.startsWith("http://"))
				u = new URL(s);
			else
				u = new URL(getDocumentBase(), s);
			// Charger la page
			getAppletContext().showDocument(u, f);
		} catch (MalformedURLException e) {}
	}
}

Le listing en détail...

Comme d'habitude, seules les nouveautés sont commentées.

public void chargerPage(String s, String f)
{
}
On déclare une fonction qui ne renvoie aucun paramètre (void), et qui accepte en entrée 2 paramètres de type String.
 
if (f == null) f = "_self";
4 noms de frames spéciaux sont gérés par les navigateurs (ce sont : _self, _top, _parent, _blank).
Pour plus de précisions sur ces noms spéciaux, consultez la FAQ .

Ici, le paramètre _self représente la frame dans laquelle se trouve déjà l'applet.
La nouvelle page web se chargera donc à la place de celle qui contient l'applet.

Intégration de l'applet dans la page

Voici le code qui peut être utilisé dans une page HTML pour faire apparaître l'applet :

<applet code="URLComplet.class" width=250 height=90>
Votre navigateur n'est pas compatible Java !
</applet>

Pour plus de précisions sur l'intégration d'une applet, cliquez ici.