TP4
Développement Java avec NetBeans
Objectifs
- Maîtriser l'interface NetBeans pour la création, la modification, la compilation et l'exécution de classes Java
- Travailler les mécanismes de base de Java : instanciation, construction.
- Modélisation : premier pas dans la création d'un concept / une classe
- Travailler les types de données simples et comprendre les problèmes de limite et de précision induits par la représentation des nombre dans un ordinateur
Mise en place
- Suivant la démarche habituelle, lancez Netbeans IDE
- Créez un nouveau projet "tp04" dans le répertoire "C:\Temp" de votre poste (File->New Project->Java->Java application). (Attention à ne pas oublier de le déplacer à la fin du TP sur votre répertoire "Home" du disque réseau correspondan)
Exercices
![]() |
Dans cet exercice, nous allons écrire des classes Java et exécuter un programme utilisant des classes créées. Le programme sera d'abord exécuté classiquement puis en mode "debug".
Les captures d'écrans de cet exercice peuvent être légèrement différentes de ce que vous apercevrez sur votre écran (version de Netbeans et/ou système d'exploitation différents), mais devrez quand même vous permettre de mieux vous repérer.
Netbeans créé un nouveau projet ainsi qu'une nouvelle classe Main.java. Remarquez aussi qu'un package du même nom que votre projet a été créé par défaut dans Source Packages (qui contiendra l'ensemble des fichiers sources). Il est conseillé de mettre l'ensemble des nouveaux documents dans ce package (ou un sous de ses sous-package). La classe Main contient le point d'entrée de la chaîne des traitements. Vous pouvez ouvrir ce fichier Java pour découvrir que pour l'instant il n'y a pas d'instructions.
Soit le diagramme UML permettant de représenter un point de la figure ci-dessous
![]() |
La classe java ci-dessous correspond au modèle UML :
- p
- x
- y
- Point
- http://polytech.ujf-grenoble.fr/point
- racine
- p
- Point
- http://polytech.ujf-grenoble.fr/point
Point
- 1
- 2
- 3
- 4
- 5
- X
- x
- y
- Y
- Point
- double
- int
- bool
- double
- String
- primitif
- références
- p
- x
- y
- Point
- http://polytech.ujf-grenoble.fr/point
Nous allons maintenant découvrir une première façon de créer une classe sous Netbeans : Dans le menu File->New File, choisissez la catégorie Java à gauche, puis sélectionnez Empty Java File à droite (voir figure ci-dessous).
![]() |
Observez l'onglet correspondant à votre fichier (voir figure ci-dessous) : il y a deux indicateurs : le premier (avant le nom de la classe) est une clé, le second (après le nom de la classe) est une étoile. L'étoile indique que votre classe a été modifiée mais que le fichier n'est pas sauvegardé. Pour que la machine virtuelle prenne en compte vos modifications, il faudra bien veiller à ce que votre fichier soit sauvegardé. La clé indique que votre fichier Java n'a pas été recompilé depuis sa dernière modification. Pour que la machine virtuelle prenne en compte vos modifications, une fois sauvegardé, il faudra bien veiller à ce que votre fichier soit soit compilé.
![]() |
Appuyez sur Ctrl+S ou allez dans le menu File -> Save ou encore cliquez sur l'icône de la disquette pour sauvegardez vos fichiers.
Pour compiler un fichier Java, vous pouvez utiliser le menu Build -> Compile "Point.java".
Nous définissons maintenant un segment par ses deux extrémités comme le montre le diagramme UML de la figure ci-dessous.
![]() |
Vous obtenez une classe Segment vide. Notez le commentaire.
Nous allons maintenant créer une classe Test contenant le programme principal, dans laquelle nous allons définir un segment, puis calculer sa longueur.
Bien sûr le programme principal étant vide, rien ne se passe. Vous devez avoir dans la fenêtre de sortie un message vous indiquant où se trouve le résultat de la compilation (où sont rangées les fichier .class)
La classe Test est une classe un peu particulière : elle contient une méthode main qui sera la méthode appelée lors de l'exécution du programme. Les lignes du fichier commençant par le symbole // correspondent à des commentaires. Ces commentaires permettent d'expliquer ce qui est fait dans le programme. Nous avons volontairement laissé des portions incomplètes pour que vous complétiez les parties manquantes. Cette classe permet de créer un objet de la classe segment, de définir ses deux extrémités et de calculer sa longueur.
Math.
(Math suivi d'un point) et d'attendre quelques instants...
Nous allons maintenant exécuter le programme Test.
Nous allons maintenant exécuter le même programme mais cette fois-ci en mode "debug". Le mode d'exécution "debug" permet de suivre l'exécution du programme pas à pas. Il est ainsi possible de suivre l'évolution des valeurs des attributs.
La première étape est de définir un point d'arrêt (breakpoint en anglais). Pour cela cliquer avec le bouton gauche sur la marge gauche de l'éditeur (là où se trouve les numéros de ligne). Vous devez obtenir le résultat de la figure ci-dessous.
![]() |
Le mode "debug" permet de faire exécuter les instructions du programme en mode pas à pas (une instruction après l'autre). Pour cela il faut utiliser le bouton entouré en rouge ( Step Into ou touche F7) sur la figure ci-dessous.
![]() |
A tout moment vous pouvez relancer le programme au début en recliquant sur Debug Main Project. En cours d'exécution, vous pouvez regarder les informations concernant les variables (onglet Local Variables en bas à droite), cf figure ci-dessous.
![]() |
Redémarrez le programme en mode debug et observez la liste des variables.
- vrai
- faux
Nous allons maintenant définir un rectangle et écrire un programme permettant de calculer son aire. Un rectangle est défini par deux vecteurs (c-à-d deux segments) v1 et v2.
Dans cet exercice nous allons ajouter des méthodes à la classe Point et manipuler des instances
- Non
- Oui
On aimerait créer une méthode set qui permettrait d'obtenir :
Remarquez qu'on écrit une deuxième méthode set mais avec des paramètres différents.
On aimerait créer une méthode symetrie qui permettrait d'obtenir :
Remarquez que l'instanciation de cette nouvelle référence n'est pas visible dans le code de la méthode main. Il faudra bien documenter la méthode symetrie pour indiquer qu'elle renvoie une nouvelle instance (c'est à l'intérieur du code de la méthode symetrie que ce fait l'instanciation).
Dans cet exercice nous allons programmer une classe simple et manipuler des instances
Dans cet exercice, nous allons partir de classes Java et d'un programme principal pour retrouver l'équivalence avec XML Schema et les instances XML.
Cliquez avec le bouton droit sur les liens suivants et enregistrez-les dans le répertoire correspondant au package patient :
La racine du document doit s'appeler patientJava, le nom du vocabulaire sera patient.
- Le remplissage des valeurs des attributs
- Les instructions d'affichage à l'écran