FAQ Java GUIConsultez toutes les FAQ

Nombre d'auteurs : 51, nombre de questions : 152, dernière mise à jour : 29 juin 2013 

 
OuvrirSommaireApplets

Principe :Une solution semble exister au moins avec Netscape Navigator et Appletviewer, en effet ils placent les applets dans une Frame. Il suffit donc d'utiliser getParent() sur l'Applet pour récupérer cette Frame et s'en servir ( éventuellement de manière récursive jusqu'à récupérer la Frame ).

Exemple :

 
Sélectionnez

public java.awt.Frame getFrame() {
        Container container = this.getParent();
        while( container != null ) {
                if( container instanceof Frame ) {
                        return( (Frame)container );
                } 
                container = container.getParent();
        } 
        return(null); /** Ou une erreur */
} 

Cet exemple retourne null si le parent n'est pas une java.awt.Frame.

Mis à jour le 3 mai 2002  par Clément Cunin

Il faut, dans l'applet, récupérer la page puis l'afficher, ceci pouvant être effectué suite à la pression d'un bouton.

 
Sélectionnez

URL recup;
try {
        /** récupère l'URL à partir du document courant et "page.html" */
        recup = new URL(getDocumentBase(), "page.html");
        /** Affiche le document après avoir recupérer le contexte courant */
        getAppletContext().showDocument(recup, option_frame);
        repaint();
} catch (MalformedURLException e) {
        /** un traitement quelconque si la page n'est pas correcte */
} 

Option_frame peut-être :

  • "_self" -> la frame courant
  • "_parent" -> la frame parente
  • "_top" -> la frame de base
  • "_blank" -> nouvelle fenetre
  • "un_nom" -> nouvelle fenêtre nommée.
Mis à jour le 3 mai 2002  par L'équipe Java

Code HTML :On initialise les différents paramètres lors de l'appel de l'applet:

 
Sélectionnez

<applet code=mon_code><param name=param1 value="xxx"><param name=param2 value="yyy"></applet>

Code Java :Dans l'applet on récupère les résultats ainsi :

 
Sélectionnez

String param1 = getParameter("param1");
String param2 = getParameter("param2");
Mis à jour le 3 mai 2002  par L'équipe Java

Il faut utiliser la méthode showStatus(java.lang.String) sur un objet de type java.applet.AppletContext.

Mis à jour le 3 mai 2002  par L'équipe Java

Les applets se trouvent dans la même frame HTML :Il faut que l'applet ait été déclarée dans le code HTML de la sorte :

 
Sélectionnez
<applet code=.... name="tagname"></applet>


Alors il suffit de récupérer une applet à partir d'une autre de cette manière :

 
Sélectionnez
CType autre_applet = (CType)(getAppletContext().getApplet("tagname");

Si les applets sont déclarées dans des frames HTML différentes :Comme le navigateur utilise généralement une seule JVM, l'espace mémoire est partagé. Une astuce est donc alors de créer une classe ne contenant que des membres statiques et permettant l'enregistrement et la récupération d'applet. Ces membres statiques seront uniques en mémoire et donc partagés entre les applets.

Un début de structure serait :

 
Sélectionnez

 
class AppletDataBase {
        /** Une structure de données permettant d'enregistrer les données */
        static Hashtable data;
        /** Une méthode permettant de récuperer une applet grâce à son tag */
        public static Applet getApplet(String tag);
        /** Une méthode chargée d'enregistrer une applet marquée par un tag */
        public static void addApplet(Applet applet, String tag);
} 

Dans les applets on peut ainsi faire l'équivalent de ce qui est fait avec l'AppletContext :

 
Sélectionnez
Applet autre_applet = AppletDataBase.getApplet("tagname");
Mis à jour le 3 mai 2002  par L'équipe Java

En fait pour faire marcher votre applet avec un plugin, il va falloir modifier le contenu de votre page HTML. La marche à suivre dépend de votre navigateur. Vous trouverez plus d'informations à l'adresse suivante :http://www.javasoft.com/products/plugin/1.3/docs/tags.html

Mis à jour le 3 mai 2002  par L'équipe Java

Vous trouverez toutes les informations nécessaires dans le lien ci-dessous :

Créé le 6 mai 2002  par L'équipe Java

Lien : http://www.suitable.com/docs/signing.html

Même si les sons ont plutôt tendance à m'énerver quand je navigue sur la toile, voila un un bout de code pour faire faire du son à votre applet.

 
Sélectionnez

try {
        URL url = new URL("http://serveur.fr/monSon.au");
        AudioClip ac = Applet.newAudioClip(url);
        ac.play();
} catch( MalformedURLException e ) {
 
} 
Créé le 10 novembre 2002  par Clément Cunin
Les codes sources présentés sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Pour le reste, ce document constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Ce document issu de http://www.developpez.com est soumis à deux licences, en fonction des contributeurs : - Les contributions de Clément Cunin et Johann Heymes sont soumises aux termes de la la licence GNU FDL traduite en français ici. Permission vous est donnée de distribuer, modifier des copies des contributions de Clément Cunin et Johann Heymes tant que cette note apparaît clairement : "Ce document issu de http://www.developpez.com est soumis à la licence GNU FDL traduite en français ici. Permission vous est donnée de distribuer, modifier des copies de cette page tant que cette note apparaît clairement". - Pour ce qui est des autres contributions : Copyright © 2004 - 2009 Developpez LLC : Tous droits réservés Developpez LLC. Aucune reproduction ne peut en être faite sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.