11. QUELQUES OUTILS
 
 
Précédent Suivant
 
Quelques outils
Documentation avec Javadoc
* Nécessité d'une documentation à jour pour la maintenance du code
* Javadoc génère une documentation au format HTML
* Outil intégré au kit de développement
* Ajout de commentaires formatés
* Entre "/**" et "*/"
* Format simple et "standard"
* Reconnu par d'autres outils (Doxygen par exemple)
* Générateur automatique de documentation
* Analyse de la structure du code
* Extraction des commentaires
* Production d'une documentation complète navigable
* Commande
* javadoc –d destination -classpath classpath fichiers / packages
Format des commentaires
* Structure d'un commentaire
* Avant l'élément à commenter
* /**
* Description brève...
* Description détaillée...
* Balises...
*/
* Balises
* @author nom_auteur
* @version numéro_version
* @param nom_paramètre description
* @return description_valeur_retournée
* @exception classe_exception description
* @see nom_classe
* @see nom_classe#nom_méthode
* @since date_ajout
* @deprecated
Exemple de commentaires
/**
* Voici une classe bidon.
*/
public class ExempleJavadoc {
/**
* Brève description de l'attribut.
* Description plus détaillée de l'attribut.
*/
public Object attribut;

/**
* Brève description de la méthode.
* Description plus détaillée de la méthode.
* @param obj1 Description du premier paramètre.
* @param obj2 Description du second paramètre.
* @return Description du retour de la méthode.
*/
public boolean methode(Object obj1,Object obj2) {}
}
Développement avec NetBeans
* Environnement de développement intégré
* Gestion de projets
* Débogueur intégré
* Affichage d'erreurs en cours de frappe
* Complétion assistée
* Aide intégrée
* Facilités pour utiliser Swing
* Conception graphique
* Palette de composants
* Inspecteur d'objets
* Relation directe entre composant et code
Déploiement d'applications en JAR
* JAR = Java ARchive
* Format d'archive compressée
* Contient du code binaire (fichiers ".class")
* Des fichiers ressources (images...)
* Un fichier de manifeste (informations sur l'archive)
* Intérêt
* Regrouper toute une application dans un seul fichier
* Un seul fichier ==> téléchargement plus rapide
* Commandes similaires à "tar"
* Compression: jar cvf nom_archive.jar fichiers
* Décompression: jar xvf nom_archive.jar
* Facilite la distribution une application
* Exécution directe d'une archive
* Déploiement avec Java Web Start
* Téléchargement plus rapide pour les applets
Construire un fichier de manifeste
* Un manifeste (ou "manifest") contient des informations sur l'archive
* En particulier, la classe principale d'une application
* Classe qui contient la méthode "main"
* Exécution de l'archive
* java –jar nom_archive.jar
* Syntaxe d'un fichier de manifeste
* Manifest-Version: 1.0
Created-By: nom_auteur
Main-Class: nom_classe
* Ajout d'un manifeste à une archive
* jar cfm nom_archive.jar fichier_manifeste fichiers
* Attention à l'accès aux ressources dans le code Java
* url = getClass().getClassLoader().getResource("nom_fichier"));
Applet: Java dans une page HTML
* Applet = application Java "embarquable" dans une page HTML
<html>
<body>
<applet code="MonApplet" codebase="."
archive="monarchive.jar" width="200" height="200">
<param name="param1" value="27">
<param name="param2" value="14">
</applet>
</body>
</html>
* Point d'entrée de l'application: classe héritant de "JApplet" ==> MonApplet
* Code et ressources placées dans une archive JAR ==> monarchive.jar
* Méthodes particulières de "JApplet"
* init(): initialisation de l'applet
* start(): démarrage de l'applet
* stop(): arrêt de l'applet
* Paramètres de l'application ==> param1, param2
* Récupération: String p = getParameter("nom_paramètre");
Exemple d'applet (1/2)
public class MonApplet extends JApplet implements Runnable {
protected int x;
protected int y;

public void init() {
Container cp = getContentPane();

x = Integer.parseInt(getParameter("param1"));
y = Integer.parseInt(getParameter("param2"));

cp.add(new JPanel() {
public void paintComponent(Graphics g) {
g.setColor(Color.GREEN);
g.fillRect(x,y,20,20);
}
});
}
Exemple d'applet (2/2)
public void start() {
Thread thread = new Thread(this);
thread.start();
}

public void run() {
while (true) {
x += 10;
y += 10;
repaint();
try { Thread.sleep(1000); } catch (Exception e) {}
}
}
}
 
 
Copyright (c) 1999-2016 - Bruno Bachelet - bruno@nawouak.net - http://www.nawouak.net
La permission est accordée de copier, distribuer et/ou modifier ce document sous les termes de la licence GNU Free Documentation License, Version 1.1 ou toute version ultérieure publiée par la fondation Free Software Foundation. Voir cette licence pour plus de détails (http://www.gnu.org).