IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
logo

FAQ Java GUIConsultez toutes les FAQ

Nombre d'auteurs : 37, nombre de questions : 155, dernière mise à jour : 10 octobre 2015  Ajouter une question

 

Cette FAQ a été réalisée à partir des questions fréquemment posées sur les forums de http://www.developpez.com et de l'expérience personnelle des auteurs.

Nous tenons à souligner que cette FAQ ne garantit en aucun cas que les informations qu'elle propose sont correctes. Les auteurs font leur maximum, mais l'erreur est humaine. Cette FAQ ne prétend pas non plus être complète. Si vous trouvez une erreur, ou que vous souhaitez nous aider en devenant rédacteur, lisez ceci.

SommaireApplets (8)
précédent sommaire suivant
 

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 :

Code java : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
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 15 avril 2002 Clement Cunin

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

Code java : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
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 fenêtre ;
  • "un_nom" -> nouvelle fenêtre nommée.

Mis à jour le 15 avril 2002

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

Code html : Sélectionner tout
<applet code=mon_code><param name=param1 value="xxx"><param name=param2 value="yyy"></applet>

Dans l'applet on récupère les résultats ainsi :
Code java : Sélectionner tout
1
2
String param1 = getParameter("param1"); 
String param2 = getParameter("param2");

Mis à jour le 15 avril 2002

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

Mis à jour le 15 avril 2002

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 :

Code html : Sélectionner tout
<applet code=.... name="tagname"></applet>

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

Code java : Sélectionner tout
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 :

Code java : Sélectionner tout
1
2
3
4
5
6
7
8
9
  
class AppletDataBase { 
        /** Une structure de données permettant d'enregistrer les données */ 
        static Hashtable data; 
        /** Une méthode permettant de récupérer 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 :

Code java : Sélectionner tout
Applet autre_applet = AppletDataBase.getApplet("tagname");

Mis à jour le 16 avril 2002

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/plu...docs/tags.html

Mis à jour le 16 avril 2002

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

Mis à jour le 6 mai 2002

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

Code java : Sélectionner tout
1
2
3
4
5
6
7
try { 
        URL url = new URL("http://serveur.fr/monSon.au"); 
        AudioClip ac = Applet.newAudioClip(url); 
        ac.play(); 
} catch( MalformedURLException e ) { 
  
}

Mis à jour le 10 novembre 2002 Clement Cunin

Proposer une nouvelle réponse sur la FAQ

Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour ça


Réponse à la question

Liens sous la question
précédent sommaire suivant
 

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2024 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.