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



Certaines méthodes du JDK me demandent une Frame, mais Applet ne dérivant pas de Frame, que passer en argument ?
auteur : Clément Cunin
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 <javaMethode class="java.awt.Component" methode="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 :

public java.awt.Frame getFrame()Container container = this.getParent();while( container != null )if( container instanceof Frame )return( (Frame)container );container = container.getParent();return(null);<comment>Ou une erreur</comment>
Cet exemple retourne null si le parent n'est pas une <javaClass class="java.awt.Frame" />.

lien :

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

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


Comment récupérer des arguments d'une page HTML dans une applet ?
Code HTML :
On initialise les différents paramètres lors de l'appel de l'applet:

<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 :

String param1 = getParameter("param1");String param2 = getParameter("param2");
lien :

Comment afficher quelque chose dans la barre de statut d'un navigateur ?
Il faut utiliser la méthode <javaMethode class="java.applet.AppletContext" methode="showStatus(java.lang.String)" /> sur un objet de type <javaClass class="java.applet.AppletContext" />.

lien :
lien :

Comment faire communiquer deux applets ?
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 :

<applet code=.... name="tagname"></applet>

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

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 :

class AppletDataBase<comment>Une structure de données permettant d'enregistrer les données</comment>static Hashtable data;<comment>Une méthode permettant de récuperer une applet grâce à son tag</comment>public static Applet getApplet(String tag);<comment>Une méthode chargée d'enregistrer une applet marquée par un tag</comment>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 :

Applet autre_applet = AppletDataBase.getApplet("tagname");

Mon applet ne marche pas avec un plugin Java, que faire ?
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


Comment signer une applet ?
lien :  http://www.suitable.com/docs/signing.html

Comment jouer un son dans une applet ?
auteur : Clément Cunin
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.

tryURL url = new URL("http://serveur.fr/monSon.au");AudioClip ac = Applet.newAudioClip(url);ac.play();catch( MalformedURLException e )


Ce document issu de http://www.developpez.com est soumis à la licence GNU FDL traduit en français ici.
Permission vous est donnée de distribuer, modifier des copies de cette page tant que cette note apparaît clairement.