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.
- Certaines méthodes du JDK me demandent une Frame, Applet ne dérive pas de Frame, que faire ?
- Comment ouvrir une nouvelle page HTML ?
- Comment récupérer des arguments d'une page HTML dans une applet ?
- Comment afficher quelque chose dans la barre de statut d'un navigateur ?
- Comment faire communiquer deux applets ?
- Mon applet ne marche pas avec un plugin Java, que faire ?
- Comment signer une applet ?
- Comment jouer un son dans une applet ?
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 */ } |
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 */ } |
- "_self" -> la frame courant ;
- "_parent" -> la frame parente ;
- "_top" -> la frame de base ;
- "_blank" -> nouvelle fenêtre ;
- "un_nom" -> nouvelle fenêtre nommée.
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"); |
Il faut utiliser la méthode showStatus(java.lang.String) sur un objet de type java.applet.AppletContext.
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");
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); } |
Code java : | Sélectionner tout |
Applet autre_applet = AppletDataBase.getApplet("tagname");
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
Vous trouverez toutes les informations nécessaires dans le lien ci-dessous :
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 ) { } |
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 çaLes 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.