Applet dans une fenêtre

Insérer une applet dans une fenêtre

Les applets qui ne font pas appel à certaines méthodes spécifiques liées au document html les contenant (comme getParameter par exemple) peuvent facilement être incluses dans une application fenêtrée.

Il suffit de créer une instance de l'applet, puis d'appeler successivement ses méthodes init et start.

Utilisons l'applet Euro créée lors d'un précédent TD pour la transformer en application fenêtrée AppEuro.

Constructeur

	public AppEuro() {
	 setTitle("Conversion Euro");
	 Euro a=new Euro();
	 add(a);
	 a.init();
	 a.start();
	}

Méthode main

	public static void main(String args[]) {
	 System.out.println("Chargement en cours...");
	 AppEuro app=new AppEuro();
	 app.setBounds(200,100,300,200);
	 app.show();
	}

Fermeture de la fenêtre

Il reste enfin à gérer l'évènement fermeture de la fenêtre. Cela peut se faire en utilisant l'interface WindowListener. Nous allons utiliser une autre méthode qui consiste à créer une nouvelle classe incluse dans la classe AppEuro (une innerClass) qui sera chargée de gérer cet évènement. Il s'agira d'une classe de type WindowAdapter qui implémente l'interface WindowListener; nous n'aurons ainsi qu'à redéfinir la méthode windowClosing.

Nous ajouterons donc les lignes suivantes pour définir la classe :

	class ferme extends WindowAdapter {
	 public void windowClosing(WindowEvent e) {
	  dispose();
	  System.exit(0);
	 }
	}

Il suffira ensuite d'indiquer dans le constructeur que les évènements fenêtre sont gérés par une instance de la classe ferme en ajoutant la ligne :

	addWindowListener(new ferme());

Remarques :

Créer un fichier jar

Un bon fonctionnement de l'application nécessite la présence des fichiers AppEuro.class, AppEuro$ferme et Euro.class dans le même répertoire. Il est possible de les regrouper dans un unique fichier compressé d'extension .jar en utilisant l'utilitaire jar fournit avec le JDK.

Le programme RealJ permet de réaliser cette opération de façon très simple grâce à la commande Project/Create jar... Le fichier créé contient les fichiers AppEuro.class, AppEuro$ferme.class et Euro.class, ainsi qu'un fichier "manifeste" qui permet de préciser le fichier contenant la méthode main de l'application.

Le fichier manifest.txt qui sert à créer le fichier manifeste du fichier jar contient la ligne :
  Main-Class: AppEuro

Si le JDK 1.2 est installé, le fichier AppEuro.jar obtenu peut être exécuté directement par double-clic.

A partir d'une console DOS on obtient le même résultat avec la ligne de commande :
  jar cmf manifest.txt fichier.jar *.class



Retour au menu