Applets By Korteby Farouk Cours Java Avancée
Sommaire <ul><li>Qu'est-ce qu'une applet ? </li></ul><ul><li>Applets et sécurité… </li></ul><ul><li>Du coté HTML </li></ul...
Qu'est-ce qu'une applet ? By Korteby Farouk Cours Java Avancée
Qu'est-ce qu'une applet ? <ul><li>Une applet est une application Java : </li></ul><ul><li>C'est une classe Java compilée s...
Qu'est-ce qu'une applet ? <ul><li>Elle possède néanmoins certaines particularités : </li></ul><ul><li>Elle réside sur un s...
Qu'est-ce qu'une applet ? 4. Affichage de la page figée (avec hyperliens) Client Web Serveur Web Pages Web 1. Demande d’UR...
Qu'est-ce qu'une applet ? 4. Affichage de la page, initialisation puis démarrage des applets Client Web Serveur Web 1. Dem...
Applets et sécurité… By Korteby Farouk Cours Java Avancée
Applets et sécurité… <ul><li>Les conditions de sécurités sont plus strictes que pour une application ordinaire, et sont gé...
Applets et sécurité… <ul><li>Le client peut accorder des droits aux applets signées par des personnes de confiance </li></...
Applets et sécurité… <ul><li>Attribués par VeriSign, Thawte, … à une société </li></ul><ul><li>Prix: au moins 150 $ par an...
Applets et sécurité… <ul><li>Qu'est-ce qu'une applet ? </li></ul>
Du coté HTML By Korteby Farouk Cours Java Avancée
Du coté HTML <ul><li>Les balises <APPLET> , <OBJECT> </li></ul><ul><li>Elle sert à invoquer l'applet au sein de la page we...
Du coté HTML <ul><li>Utilisation : </li></ul><ul><li><APPLET  </li></ul><ul><li>code=&quot;HelloWord&quot;  </li></ul><ul>...
Du coté HTML <ul><li>Utilisation : </li></ul><ul><li><OBJECT  </li></ul><ul><li>code=&quot;HelloWord&quot;  </li></ul><ul>...
Du coté HTML <ul><li>Attributs : </li></ul><ul><li>code=[chaine] (obligatoire) </li></ul><ul><ul><li>nom de la classe prin...
Du coté HTML <ul><li>Attributs : </li></ul><ul><li>codebase=[chaine] </li></ul><ul><ul><li>URL de base pour l'applet. Par ...
Du coté HTML <ul><li>La balise <PARAM> </li></ul><ul><li>Elle sert à passer des arguments à l'applet à l'exécution, de la ...
Du coté HTML <ul><li>Utilisation : </li></ul><ul><li><APPLET code=&quot;HelloWord&quot;  </li></ul><ul><li>width=&quot;300...
Du coté Java By Korteby Farouk Cours Java Avancée
Du coté Java <ul><li>Du coté Java: </li></ul><ul><li>Création </li></ul><ul><li>Cycle de vie </li></ul><ul><li>Récupératio...
Du coté Java <ul><li>Création </li></ul><ul><li>Il faut dériver la super classe java.applet.Applet, comme n'importe quelle...
Du coté Java <ul><li>Cependant, on n'utilise ni de constructeur, ni de méthode main().  </li></ul><ul><li>En effet, c'est ...
Du coté Java <ul><li>Le comportement de l'applet est alors spécifié en surchargeant les méthodes:  </li></ul><ul><li>init(...
Du coté Java <ul><li>2. Cycle de vie </li></ul><ul><li>L'appel des méthodes:  </li></ul><ul><li>init(),start(), stop() et ...
Du coté Java <ul><li>public void init() </li></ul><ul><ul><li>appelée une seule fois par le navigateur à l'initialisation ...
Du coté Java init() start() stop() destroy()
Du coté Java <ul><li>Récupération des paramètres </li></ul><ul><li>La méthode  getParameter(StringparameterName)  permet d...
Du coté Java <ul><li>Pour une chaîne de caractère : </li></ul><ul><li>String texte = getParameter(&quot;texte&quot;); </li...
Du coté Java <ul><li>Contexte de l'applet </li></ul><ul><li>La classe AppletContext d'accéder à des ressources externes à ...
Du coté Java <ul><li>public java.util.Enumeration getApplets() </li></ul><ul><ul><li>retourne l'ensemble des autres applet...
Du coté Java <ul><li>public void showDocument(java.net.URL url) </li></ul><ul><ul><li>demande au navigateur de charger la ...
Ateliers By Korteby Farouk Cours Java Avancée
Ateliers <ul><li>l'indispensable JDK  de SUN : Il contient un compilateur, un interpréteur, les classes de base, et d'autr...
Ateliers <ul><li>Avec le package : </li></ul><ul><li>Java.AWT Applets; </li></ul><ul><li>Composants de Base </li></ul><ul>...
Composants de Base By Korteby Farouk Cours Java Avancée
Composants de Base <ul><li>HelloWorld </li></ul><ul><li>public class HelloWorld extends Applet { </li></ul><ul><li>public ...
Composants de Base <ul><li>Label1: </li></ul><ul><li>importer un HTML paramètre </li></ul><ul><li>java </li></ul><ul><li>g...
Composants de Base <ul><li>Label2: importer plusieurs paramètres: </li></ul><ul><li>private String getStrParam( String nam...
Composants de Base <ul><li>HTML </li></ul><ul><li><APPLET code=&quot;Label3.class&quot; width=150 height=50> </li></ul><ul...
Composants de Base <ul><li>SampleFonts: Texte Styles et Polices </li></ul><ul><li>g.setFont( new Font(&quot;TimesRoman&quo...
Composants de Base <ul><li>SampleButton:button avec événement </li></ul><ul><li>Déclaration </li></ul><ul><li>java.awt.But...
Composants de Base <ul><li>SampleButton:button avec événement </li></ul><ul><li>Gestion d’événement </li></ul><ul><li>publ...
Composants de Base <ul><li>SampleTextField1 </li></ul><ul><li>Déclaration </li></ul><ul><li>TextField output; </li></ul><u...
Composants de Base <ul><li>SampleTextField1 </li></ul><ul><li>Gestion d’événement </li></ul><ul><li>public boolean keyDown...
Composants de Base <ul><li>SampleChoice: liste de choix </li></ul><ul><li>Dans la méthode : init()  </li></ul><ul><ul><li>...
Composants de Base <ul><li>SampleChoice: liste de choix </li></ul><ul><li>La Gestion d’événements: </li></ul><ul><li>publi...
Composants de Base <ul><li>SampleCheckboxes1: Buttons radios </li></ul><ul><li>Déclaration: </li></ul><ul><ul><li>TextFiel...
Composants de Base <ul><li>Gestion d’événements </li></ul><ul><li>public boolean action( Event e, Object what ) { </li></u...
Composants de Base <ul><li>SampleScrollbars1 </li></ul><ul><li>Déclaration: </li></ul><ul><ul><li>Scrollbar x; </li></ul><...
Composants de Base <ul><li>Gestion d’événement </li></ul><ul><ul><li>public boolean handleEvent( Event e ) { </li></ul></u...
Composants de Base <ul><li>La méthode paint() </li></ul><ul><li>Cette méthode permet d'afficher le contenu de l'applet à l...
Composants de Base <ul><li>La Méthode paint(): </li></ul><ul><ul><li>public void paint( Graphics g ) { </li></ul></ul><ul>...
Son et Graphiques By Korteby Farouk Cours Java Avancée
Son et Graphiques <ul><li>SampleGif: dessin d’une image </li></ul><ul><li>Déclaration </li></ul><ul><ul><li>Image im; </li...
Son et Graphiques <ul><li>La methode Paint() </li></ul><ul><ul><li>g.drawImage(im, 0, 0, this); </li></ul></ul>
Son et Graphiques <ul><li>SampleSound1: jouer du son </li></ul><ul><li>Déclaration: </li></ul><ul><li>String s; </li></ul>...
Son et Graphiques <ul><li>HTML </li></ul><ul><li><applet code=&quot;Son.class&quot;  </li></ul><ul><li>width=200 height=50...
Composants Intermédiaires By Korteby Farouk Cours Java Avancée
Composants Intermédiaires <ul><li>SampleFrame1 : exemple de frame </li></ul><ul><li>déclaration </li></ul><ul><ul><ul><li>...
Composants Intermédiaires <ul><li>SampleFrame1 : exemple de frame </li></ul><ul><li>La méthode init() </li></ul><ul><ul><u...
Composants Intermédiaires <ul><li>SampleMenu1 : exemple de menu </li></ul><ul><li>Déclaration </li></ul><ul><ul><ul><li>Fr...
Composants Intermédiaires <ul><li>SampleMenu1 : exemple de menu </li></ul><ul><li>La méthode init() </li></ul><ul><ul><ul>...
Merci de votre Attention By Korteby Farouk Cours Java Avancée -Applets-
Pour informations Complémentaires vous pouvez consultez: http://www.jmdoudoux.fr/ didacticiels : ‘Développons en Java’ et ...
Prochain SlideShare
Chargement dans…5
×

Applets

996 vues

Publié le

Qu'est-ce qu'une applet ?
Applets et sécurité…
Du coté HTML
Du coté Java
Un peu de pratique

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
996
Sur SlideShare
0
Issues des intégrations
0
Intégrations
3
Actions
Partages
0
Téléchargements
99
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Applets

  1. 1. Applets By Korteby Farouk Cours Java Avancée
  2. 2. Sommaire <ul><li>Qu'est-ce qu'une applet ? </li></ul><ul><li>Applets et sécurité… </li></ul><ul><li>Du coté HTML </li></ul><ul><li>Du coté Java </li></ul><ul><li>Un peu de pratique </li></ul>
  3. 3. Qu'est-ce qu'une applet ? By Korteby Farouk Cours Java Avancée
  4. 4. Qu'est-ce qu'une applet ? <ul><li>Une applet est une application Java : </li></ul><ul><li>C'est une classe Java compilée sous forme debytecode </li></ul><ul><li>Elle dérive d'une classe mère : </li></ul><ul><ul><li>java.applet.Applet pour Java 1 (supporté nativement par les navigateurs compatibles Java) </li></ul></ul><ul><ul><li>javax.swing.Japplet pour Java 2 (nécessite un plug-in Java 2) </li></ul></ul><ul><li>Elle est exécutée par une machine virtuelle Java(JVM) </li></ul>
  5. 5. Qu'est-ce qu'une applet ? <ul><li>Elle possède néanmoins certaines particularités : </li></ul><ul><li>Elle réside sur un serveur web </li></ul><ul><li>Elle est véhiculée par une page HTML qui contient son URL </li></ul><ul><li>Le navigateur Java-compatible qui charge cette page télécharge alors le code de l'applet (.class ou .jar) et l'exécute grâce à sa propre JVM ou une JVM extérieure dans le cas d'un plug-in </li></ul>
  6. 6. Qu'est-ce qu'une applet ? 4. Affichage de la page figée (avec hyperliens) Client Web Serveur Web Pages Web 1. Demande d’URL 3. Transmission de la page 2. Accès aux fichiers
  7. 7. Qu'est-ce qu'une applet ? 4. Affichage de la page, initialisation puis démarrage des applets Client Web Serveur Web 1. Demande d’URL 3. Transmission de la page 2. Accès aux fichiers Pages Web Fichiers .class
  8. 8. Applets et sécurité… By Korteby Farouk Cours Java Avancée
  9. 9. Applets et sécurité… <ul><li>Les conditions de sécurités sont plus strictes que pour une application ordinaire, et sont gérées par le navigateur lui-même : </li></ul><ul><li>Pas d'accès au système de fichier de l'hôte </li></ul><ul><li>Pas d'exécution de code natif sur l'hôte </li></ul><ul><li>Communication restreinte avec le serveur d'origine </li></ul><ul><li>La signature du code permet néanmoins de l'authentifier et de gérer ce problème </li></ul>
  10. 10. Applets et sécurité… <ul><li>Le client peut accorder des droits aux applets signées par des personnes de confiance </li></ul><ul><li>Le mécanisme des clefs privées et publiques garantit la fiabilité </li></ul>
  11. 11. Applets et sécurité… <ul><li>Attribués par VeriSign, Thawte, … à une société </li></ul><ul><li>Prix: au moins 150 $ par an </li></ul><ul><li>Garantissent l’origine et l’intégrité d’un programme (*.exe), d’une applet (*.class) ou d’une archive (*.jar) </li></ul><ul><li>Utilisent une connexion sécurisée (SSL) avec transmission de données cryptées </li></ul>
  12. 12. Applets et sécurité… <ul><li>Qu'est-ce qu'une applet ? </li></ul>
  13. 13. Du coté HTML By Korteby Farouk Cours Java Avancée
  14. 14. Du coté HTML <ul><li>Les balises <APPLET> , <OBJECT> </li></ul><ul><li>Elle sert à invoquer l'applet au sein de la page web,dans le cas d'une applet exécutée nativement. </li></ul><ul><li>Dans le cas d'une applet exécutée via un plug-in, c'est la balise <EMBED> ou <OBJECT> qui est utilisée, selon le navigateur. </li></ul>
  15. 15. Du coté HTML <ul><li>Utilisation : </li></ul><ul><li><APPLET </li></ul><ul><li>code=&quot;HelloWord&quot; </li></ul><ul><li>width=&quot;300&quot; </li></ul><ul><li>height=&quot;200&quot; > </li></ul><ul><li>Texte de remplacement pour les navigateurs n'interprétant pas cette balise </li></ul><ul><li></APPLET> </li></ul>
  16. 16. Du coté HTML <ul><li>Utilisation : </li></ul><ul><li><OBJECT </li></ul><ul><li>code=&quot;HelloWord&quot; </li></ul><ul><li>width=&quot;300&quot; </li></ul><ul><li>height=&quot;200&quot; > </li></ul><ul><li>Texte de remplacement pour les navigateurs n'interprétant pas cette balise </li></ul><ul><li></OBJECT> </li></ul>
  17. 17. Du coté HTML <ul><li>Attributs : </li></ul><ul><li>code=[chaine] (obligatoire) </li></ul><ul><ul><li>nom de la classe principale </li></ul></ul><ul><li>width=[entier] (obligatoire pour l'AppletViewer) </li></ul><ul><ul><li>dimension horizontale de l'applet, en pixels </li></ul></ul><ul><li>height=[entier] (obligatoire pour l'AppletViewer) </li></ul><ul><ul><li>dimension verticale de l'applet, en pixels </li></ul></ul><ul><li>hspace=[entier] </li></ul><ul><ul><li>espace horizontal autour de l'applet, en pixels </li></ul></ul><ul><li>vspace=[entier] </li></ul><ul><ul><li>espace vertical autour de l'applet, en pixels </li></ul></ul>
  18. 18. Du coté HTML <ul><li>Attributs : </li></ul><ul><li>codebase=[chaine] </li></ul><ul><ul><li>URL de base pour l'applet. Par défaut : le répertoire courant </li></ul></ul><ul><li>name=[chaine] </li></ul><ul><ul><li>nom de l'applet </li></ul></ul><ul><li>archive=[chaine] </li></ul><ul><ul><li>fichier archive contenant les classes de l'applet </li></ul></ul><ul><li>alt=[chaine] </li></ul><ul><ul><li>Texte affiché par les navigateurs interprétant la balise, mais n'affichant pas l'applet pour autant (en cours de chargement, support Java désactivé, etc...) </li></ul></ul>
  19. 19. Du coté HTML <ul><li>La balise <PARAM> </li></ul><ul><li>Elle sert à passer des arguments à l'applet à l'exécution, de la même façon que les arguments en ligne de commande d'une application. </li></ul>
  20. 20. Du coté HTML <ul><li>Utilisation : </li></ul><ul><li><APPLET code=&quot;HelloWord&quot; </li></ul><ul><li>width=&quot;300&quot; height=&quot;200&quot;> </li></ul><ul><li><PARAM name=&quot;texte&quot; </li></ul><ul><li>value=&quot;Hello world !&quot;> </li></ul><ul><li><PARAM name=&quot;occurences&quot; value=&quot;3&quot;> </li></ul><ul><li></APPLET> </li></ul>
  21. 21. Du coté Java By Korteby Farouk Cours Java Avancée
  22. 22. Du coté Java <ul><li>Du coté Java: </li></ul><ul><li>Création </li></ul><ul><li>Cycle de vie </li></ul><ul><li>Récupération des paramètres </li></ul><ul><li>Contexte de l'applet </li></ul>
  23. 23. Du coté Java <ul><li>Création </li></ul><ul><li>Il faut dériver la super classe java.applet.Applet, comme n'importe quelle application Java : </li></ul><ul><li>public class MyApplet extends java.applet.Applet {} </li></ul>
  24. 24. Du coté Java <ul><li>Cependant, on n'utilise ni de constructeur, ni de méthode main(). </li></ul><ul><li>En effet, c'est le navigateur qui instancie l'applet à un moment non défini, alors que toutes les ressources nécessaires à son initialisation ne sont pas forcément encore disponible. </li></ul><ul><li>A la place, on utilise la méthode init (). </li></ul>
  25. 25. Du coté Java <ul><li>Le comportement de l'applet est alors spécifié en surchargeant les méthodes: </li></ul><ul><li>init(), </li></ul><ul><li>start(), </li></ul><ul><li>stop(), </li></ul><ul><li>destroy() </li></ul><ul><li>et paint(Graphics gc) </li></ul><ul><li>héritées de la superclasse : java.applet.Applet </li></ul>
  26. 26. Du coté Java <ul><li>2. Cycle de vie </li></ul><ul><li>L'appel des méthodes: </li></ul><ul><li>init(),start(), stop() et destroy() </li></ul><ul><li>par le navigateur constitue le cycle de vie de l'applet  </li></ul>
  27. 27. Du coté Java <ul><li>public void init() </li></ul><ul><ul><li>appelée une seule fois par le navigateur à l'initialisation de l'applet, lorsqu'elle est chargée </li></ul></ul><ul><li>public void start() </li></ul><ul><ul><li>appelée à chaque fois que l'applet devient visible </li></ul></ul><ul><li>public void stop() </li></ul><ul><ul><li>appelée à chaque fois que l'applet est masquée </li></ul></ul><ul><li>public void destroy() </li></ul><ul><ul><li>appelée une seule fois par le navigateur à la destruction de l'applet, lorsque la page HTML change </li></ul></ul>
  28. 28. Du coté Java init() start() stop() destroy()
  29. 29. Du coté Java <ul><li>Récupération des paramètres </li></ul><ul><li>La méthode getParameter(StringparameterName) permet de récupérer dans une chaine la valeur associée à un paramètre défini dans la page web par la balise <PARAM> vue précédement : </li></ul>
  30. 30. Du coté Java <ul><li>Pour une chaîne de caractère : </li></ul><ul><li>String texte = getParameter(&quot;texte&quot;); </li></ul><ul><li>Et Pour un entier : </li></ul><ul><li>int occurences = (new Integer(getParameter(&quot;occurences&quot;))).intValue(); </li></ul>
  31. 31. Du coté Java <ul><li>Contexte de l'applet </li></ul><ul><li>La classe AppletContext d'accéder à des ressources externes à l'applet, telles que d'autres applets ou le navigateur lui-même. </li></ul><ul><li>La méthode getAppletContext() permet d'obtenir l'instance correspondant à l'applet courante, à laquelle on peut ensuite appliquer notamment les méthodes suivantes : </li></ul>
  32. 32. Du coté Java <ul><li>public java.util.Enumeration getApplets() </li></ul><ul><ul><li>retourne l'ensemble des autres applets de la page, sous la forme d'une énumération </li></ul></ul><ul><li>public java.applet.Applet getApplets( String appletName) </li></ul><ul><ul><li>retourne l'applet de la page portant le nom appletName </li></ul></ul>
  33. 33. Du coté Java <ul><li>public void showDocument(java.net.URL url) </li></ul><ul><ul><li>demande au navigateur de charger la ressource désignée par l'URL url </li></ul></ul><ul><li>public showStatus(String status) </li></ul><ul><ul><li>affiche le message status dans la barre d'état du navigateur </li></ul></ul>
  34. 34. Ateliers By Korteby Farouk Cours Java Avancée
  35. 35. Ateliers <ul><li>l'indispensable JDK de SUN : Il contient un compilateur, un interpréteur, les classes de base, et d'autres outils. </li></ul><ul><li>la documentation sur les API, les outils Java fournis par Sun </li></ul><ul><li>Un Éditeur java : JCreator Pro </li></ul>
  36. 36. Ateliers <ul><li>Avec le package : </li></ul><ul><li>Java.AWT Applets; </li></ul><ul><li>Composants de Base </li></ul><ul><li>Son et Graphiques </li></ul><ul><li>Composants Intermédiaires </li></ul>
  37. 37. Composants de Base By Korteby Farouk Cours Java Avancée
  38. 38. Composants de Base <ul><li>HelloWorld </li></ul><ul><li>public class HelloWorld extends Applet { </li></ul><ul><li>public void paint( Graphics g ) { </li></ul><ul><li>g.drawString(&quot;Hello World&quot;,50,25); </li></ul><ul><li>} } </li></ul>
  39. 39. Composants de Base <ul><li>Label1: </li></ul><ul><li>importer un HTML paramètre </li></ul><ul><li>java </li></ul><ul><li>g.drawString(this.getParameter(&quot;text&quot;),50,25); </li></ul><ul><li>HTML </li></ul><ul><li><PARAM name=&quot;text&quot; value=&quot;Your text here&quot;> </li></ul>
  40. 40. Composants de Base <ul><li>Label2: importer plusieurs paramètres: </li></ul><ul><li>private String getStrParam( String name, String defaultVal ) { </li></ul><ul><li>String param = this.getParameter(name); </li></ul><ul><li> return param; </li></ul><ul><li>} </li></ul><ul><li>private int getIntParam( String name, int defaultVal ) { </li></ul><ul><li>String param = this.getParameter(name); </li></ul><ul><li>int i = Integer.parseInt( param ); </li></ul><ul><li> return i; </li></ul><ul><li>} </li></ul>
  41. 41. Composants de Base <ul><li>HTML </li></ul><ul><li><APPLET code=&quot;Label3.class&quot; width=150 height=50> </li></ul><ul><li><PARAM name=&quot;text&quot; value=&quot;Your text here&quot;> </li></ul><ul><li><PARAM name=&quot;x&quot; value=&quot;50&quot;> </li></ul><ul><li><PARAM name=&quot;y&quot; value=&quot;25&quot;> </li></ul><ul><li>texte en cas de problème dans la jre </li></ul><ul><li></APPLET> </li></ul>
  42. 42. Composants de Base <ul><li>SampleFonts: Texte Styles et Polices </li></ul><ul><li>g.setFont( new Font(&quot;TimesRoman&quot;,Font.PLAIN,14) ); g.drawString(&quot;TimesRoman Plain 14-point&quot;,x,y+=25); </li></ul><ul><li>g.setFont( new Font(&quot;TimesRoman&quot;,Font.ITALIC,14) ); g.drawString(&quot;TimesRoman Italic 14-point&quot;,x,y+=15); </li></ul><ul><li>g.setFont( new Font(&quot;TimesRoman&quot;,Font.BOLD,14) ); g.drawString(&quot;TimesRoman Bold 14-point&quot;,x,y+=15); </li></ul><ul><li>g.setFont( new Font(&quot;TimesRoman&quot;, Font.ITALIC+Font.BOLD,14) ); g.drawString(&quot;TimesRoman BoldItalic 14-point&quot;,x,y+=15); </li></ul>
  43. 43. Composants de Base <ul><li>SampleButton:button avec événement </li></ul><ul><li>Déclaration </li></ul><ul><li>java.awt.Button button1; </li></ul><ul><li>int presses = 0; </li></ul><ul><li>Dans init() </li></ul><ul><li>add( button1 = new java.awt.Button(&quot;Sample Button&quot;) ); </li></ul><ul><li>Déclaration fonction Clique du button </li></ul><ul><li>void Button_Clicked(Event event) { </li></ul><ul><li>System.out.println(&quot;Sample Button presses == &quot; + ++presses); </li></ul><ul><li>showStatus(&quot;Sample Button presses == &quot; + presses); </li></ul><ul><li>} </li></ul>
  44. 44. Composants de Base <ul><li>SampleButton:button avec événement </li></ul><ul><li>Gestion d’événement </li></ul><ul><li>public boolean handleEvent(Event event) { </li></ul><ul><li>if (event.target == button1 </li></ul><ul><li>&& event.id == Event.ACTION_EVENT </li></ul><ul><li>){ </li></ul><ul><li>Button_Clicked(event); </li></ul><ul><li>return true; </li></ul><ul><li>} </li></ul><ul><li>return super.handleEvent(event); </li></ul><ul><li>} </li></ul>
  45. 45. Composants de Base <ul><li>SampleTextField1 </li></ul><ul><li>Déclaration </li></ul><ul><li>TextField output; </li></ul><ul><li>TextField input; </li></ul><ul><li>Dans init() </li></ul><ul><li>output = new TextField(&quot;ereh txet epyT&quot;,40); </li></ul><ul><li>add(output); </li></ul><ul><li>input = new TextField(&quot;Type text here&quot;,40); </li></ul><ul><li>add(input); </li></ul>
  46. 46. Composants de Base <ul><li>SampleTextField1 </li></ul><ul><li>Gestion d’événement </li></ul><ul><li>public boolean keyDown( Event evt, int key ) { </li></ul><ul><li>boolean result = super.keyDown( evt, key ); </li></ul><ul><li>String s = input.getText(); </li></ul><ul><li>output.setText(s); </li></ul><ul><li>return result; </li></ul><ul><li>} </li></ul>
  47. 47. Composants de Base <ul><li>SampleChoice: liste de choix </li></ul><ul><li>Dans la méthode : init() </li></ul><ul><ul><li>Choice c = new Choice(); </li></ul></ul><ul><ul><li>c.addItem (&quot;Choice1&quot;); </li></ul></ul><ul><ul><li>c.addItem (&quot;Choice2&quot;); </li></ul></ul><ul><ul><li>c.addItem (&quot;Choice3&quot;); </li></ul></ul><ul><ul><li>add(c); </li></ul></ul>
  48. 48. Composants de Base <ul><li>SampleChoice: liste de choix </li></ul><ul><li>La Gestion d’événements: </li></ul><ul><li>public boolean action(Event e, Object o) { </li></ul><ul><li>if (e.target instanceof Choice) { </li></ul><ul><li> Choice c = (Choice)e.target; </li></ul><ul><li>int index = c.getSelectedIndex(); </li></ul><ul><li>String s = c.getSelectedItem(); </li></ul><ul><li> showStatus(s); </li></ul><ul><li>return true; </li></ul><ul><li>} </li></ul><ul><li>return false; </li></ul><ul><li>} </li></ul>
  49. 49. Composants de Base <ul><li>SampleCheckboxes1: Buttons radios </li></ul><ul><li>Déclaration: </li></ul><ul><ul><li>TextField output; </li></ul></ul><ul><ul><li>Checkbox box2; </li></ul></ul><ul><ul><li>Checkbox box1; </li></ul></ul><ul><ul><li>Checkbox box3; </li></ul></ul><ul><li>La méthode : init() </li></ul><ul><ul><li>setLayout( new GridLayout( 4, 1 ) ); </li></ul></ul><ul><ul><li>output = new TextField(&quot;balloon&quot;,40); add(output); </li></ul></ul><ul><ul><li>box1 = new Checkbox( &quot;Big&quot;); add(box1); </li></ul></ul><ul><ul><li>box2 = new Checkbox( &quot;Red&quot;); add(box2); </li></ul></ul><ul><ul><li>box3 = new Checkbox( &quot;Shiny&quot;); add(box3); </li></ul></ul><ul><ul><li>output.setEditable(false); </li></ul></ul>
  50. 50. Composants de Base <ul><li>Gestion d’événements </li></ul><ul><li>public boolean action( Event e, Object what ) { </li></ul><ul><li>boolean result = super.action( e, what ); </li></ul><ul><li>if (e.target == box1 </li></ul><ul><li>|| e.target == box2 </li></ul><ul><li>|| e.target == box3 </li></ul><ul><li>){ </li></ul><ul><li>String s1 = (box1.getState() ? &quot;big &quot; : &quot;&quot;); </li></ul><ul><li>String s2 = (box2.getState() ? &quot;red &quot; : &quot;&quot;); </li></ul><ul><li>String s3 = (box3.getState() ? &quot;shiny &quot; : &quot;&quot;); </li></ul><ul><li>String s = s1 + s2 + s3 + &quot;balloon&quot;; </li></ul><ul><li>output.setText(s); </li></ul><ul><li>} </li></ul><ul><li>return result; </li></ul><ul><li>} </li></ul>
  51. 51. Composants de Base <ul><li>SampleScrollbars1 </li></ul><ul><li>Déclaration: </li></ul><ul><ul><li>Scrollbar x; </li></ul></ul><ul><ul><li>Scrollbar y; </li></ul></ul><ul><ul><li>Scrollbar width; </li></ul></ul><ul><ul><li>Scrollbar height; </li></ul></ul><ul><ul><li>Scrollbar startAngle; </li></ul></ul><ul><ul><li>Scrollbar arcAngle; </li></ul></ul><ul><li>La methode init(); </li></ul><ul><ul><li>x = new Scrollbar(Scrollbar.VERTICAL,128,64, 0,255); </li></ul></ul><ul><ul><li>add(x); </li></ul></ul><ul><ul><li>y = new Scrollbar(Scrollbar.VERTICAL,128,64,80,255); </li></ul></ul><ul><ul><li>add(y); </li></ul></ul><ul><ul><li>width = new Scrollbar(Scrollbar.VERTICAL,128,64, 0,255); </li></ul></ul><ul><ul><li>add(width); </li></ul></ul><ul><ul><li>height = new Scrollbar(Scrollbar.VERTICAL,128,64, 0,255); </li></ul></ul><ul><ul><li>add(height); </li></ul></ul><ul><ul><li>startAngle = new Scrollbar(Scrollbar.VERTICAL,128,64, 0,255); </li></ul></ul><ul><ul><li>add(startAngle); </li></ul></ul><ul><ul><li>arcAngle = new Scrollbar(Scrollbar.VERTICAL,128,64,10,360); </li></ul></ul><ul><ul><li>add(arcAngle); </li></ul></ul>
  52. 52. Composants de Base <ul><li>Gestion d’événement </li></ul><ul><ul><li>public boolean handleEvent( Event e ) { </li></ul></ul><ul><ul><li>boolean result = super.handleEvent(e); </li></ul></ul><ul><ul><li>if (e.target == x </li></ul></ul><ul><ul><li>|| e.target == y </li></ul></ul><ul><ul><li>|| e.target == width </li></ul></ul><ul><ul><li>|| e.target == height </li></ul></ul><ul><ul><li> || e.target == startAngle </li></ul></ul><ul><ul><li>|| e.target == arcAngle </li></ul></ul><ul><ul><li>){ </li></ul></ul><ul><ul><li>paint( getGraphics() ); </li></ul></ul><ul><ul><li>} </li></ul></ul><ul><ul><li>return result; </li></ul></ul><ul><ul><li>} </li></ul></ul>
  53. 53. Composants de Base <ul><li>La méthode paint() </li></ul><ul><li>Cette méthode permet d'afficher le contenu de l'applet à l'écran. </li></ul><ul><li>Ce rafraîchissement peut être provoqué par le navigateur ou par le système d'exploitation. </li></ul><ul><li>La méthode repaint() force l'utilisation de la méthode paint(). </li></ul>
  54. 54. Composants de Base <ul><li>La Méthode paint(): </li></ul><ul><ul><li>public void paint( Graphics g ) { </li></ul></ul><ul><ul><li>g.clearRect( 0, 60, 300, 240 ); </li></ul></ul><ul><ul><li>g.fillArc( </li></ul></ul><ul><ul><li>x.getValue(), </li></ul></ul><ul><ul><li>y.getValue(), </li></ul></ul><ul><ul><li>width.getValue(), </li></ul></ul><ul><ul><li>height.getValue(), </li></ul></ul><ul><ul><li>startAngle.getValue(), </li></ul></ul><ul><ul><li>arcAngle.getValue() </li></ul></ul><ul><ul><li>); </li></ul></ul><ul><ul><li>} </li></ul></ul>
  55. 55. Son et Graphiques By Korteby Farouk Cours Java Avancée
  56. 56. Son et Graphiques <ul><li>SampleGif: dessin d’une image </li></ul><ul><li>Déclaration </li></ul><ul><ul><li>Image im; </li></ul></ul><ul><li>La méthode init() </li></ul><ul><ul><li>im = getImage(getCodeBase(), &quot;image.gif&quot;); </li></ul></ul>
  57. 57. Son et Graphiques <ul><li>La methode Paint() </li></ul><ul><ul><li>g.drawImage(im, 0, 0, this); </li></ul></ul>
  58. 58. Son et Graphiques <ul><li>SampleSound1: jouer du son </li></ul><ul><li>Déclaration: </li></ul><ul><li>String s; </li></ul><ul><li>AudioClip ac; </li></ul><ul><li>La methode init() </li></ul><ul><ul><li>s = getParameter(&quot;SON&quot;); </li></ul></ul><ul><ul><li>ac = getAudioClip(getDocumentBase(), s ); </li></ul></ul><ul><ul><li>ac.play(); <> ac.loop(); </li></ul></ul>
  59. 59. Son et Graphiques <ul><li>HTML </li></ul><ul><li><applet code=&quot;Son.class&quot; </li></ul><ul><li>width=200 height=50> </li></ul><ul><li><param name=&quot;SON&quot; value=&quot;son.au&quot;> Votre navigateur n'est pas compatible Java ! </li></ul><ul><li></applet> </li></ul>
  60. 60. Composants Intermédiaires By Korteby Farouk Cours Java Avancée
  61. 61. Composants Intermédiaires <ul><li>SampleFrame1 : exemple de frame </li></ul><ul><li>déclaration </li></ul><ul><ul><ul><li>static final int x = 100; </li></ul></ul></ul><ul><ul><ul><li>static final int y = 100; </li></ul></ul></ul><ul><ul><ul><li>static final int width = 300; </li></ul></ul></ul><ul><ul><ul><li>static final int height = 300; </li></ul></ul></ul><ul><ul><ul><li>Frame frame; </li></ul></ul></ul>
  62. 62. Composants Intermédiaires <ul><li>SampleFrame1 : exemple de frame </li></ul><ul><li>La méthode init() </li></ul><ul><ul><ul><li>frame = new Frame(); </li></ul></ul></ul><ul><ul><ul><li>frame.setResizable(true); //Par Default </li></ul></ul></ul><ul><ul><ul><li>frame.setTitle(&quot;SampleFrame1 Applet&quot;); </li></ul></ul></ul><ul><ul><ul><li>frame.reshape( x,y, width,height ); </li></ul></ul></ul><ul><ul><ul><li>frame.show(); </li></ul></ul></ul>
  63. 63. Composants Intermédiaires <ul><li>SampleMenu1 : exemple de menu </li></ul><ul><li>Déclaration </li></ul><ul><ul><ul><li>Frame frame; </li></ul></ul></ul><ul><ul><ul><li>MenuBar menuBar; </li></ul></ul></ul><ul><ul><ul><li>Menu file; </li></ul></ul></ul>
  64. 64. Composants Intermédiaires <ul><li>SampleMenu1 : exemple de menu </li></ul><ul><li>La méthode init() </li></ul><ul><ul><ul><li>frame = new Frame(); </li></ul></ul></ul><ul><ul><ul><li>menuBar = new MenuBar(); </li></ul></ul></ul><ul><ul><ul><li>file = new Menu(&quot;file&quot;,true); </li></ul></ul></ul><ul><ul><ul><li>menuBar.add(file); </li></ul></ul></ul><ul><ul><ul><li>file.add(&quot;Quit&quot;); </li></ul></ul></ul><ul><ul><ul><li>frame.setMenuBar(menuBar); </li></ul></ul></ul><ul><ul><ul><li>frame.show(); </li></ul></ul></ul>
  65. 65. Merci de votre Attention By Korteby Farouk Cours Java Avancée -Applets-
  66. 66. Pour informations Complémentaires vous pouvez consultez: http://www.jmdoudoux.fr/ didacticiels : ‘Développons en Java’ et ‘Développons en Java avec Eclipse’ http://penserenjava.free.fr/ Thinking in java traduit en française By Korteby Farouk Cours Java Avancée -Applets-

×