You are on page 1of 3

TP5 : Dessiner avec Java

Exercice 1 :

Dessin de formes géométriques


1) Utilisation de la méthode paint : Créez une nouvelle application avec Jbuilder. Le
cadre principal doit redéfinir la méthode paint() de sorte à ce qu’à l’exécution du
programme, on obtient le résultat suivant :
« Java c’est cool ».
Tout d’abord nous voulons utiliser le font par défaut de l’objet graphics, ensuite nous
voulons utiliser le font suivant :
- Police : Dialog
- Le style BOLD et ITALIC
- La taille de la police est de 25.

2) Nous décidons maintenant de dessiner différentes formes géométriques de sorte à


obtenir le résultat suivant :

Nous allons pour ce faire définir un panneau PanneauGraphique qui va me permettre de


dessiner un objet graphique et un panneau BoutonsGraphique qui contient un certain
nombre de boutons représentant les objets graphiques à dessiner.
Lorsqu’on clique sur un bouton, l’objet s’affiche approprié s’affiche dans le panneau.

Le panneau PanneauGraphique utilisera la méthode paintComponent(Graphics g) de la


bibliothèque swing. Cette méthode est appelée par la méthode repaint(), lorsque cette
dernière est invoquée.
Exercice 2 :
Déplacement synchronisé d’un objet par une horloge.

Partie I
1) Nous allons dans une 1ère partie de l’exercice réaliser notre propre horloge qui n’est
pas celle du système. Pour ce faire nous allons créer une nouvelle application « Jeu »
qui contient une classe Horloge.
2) La classe horloge a deux attributs minute et seconde initialisés dans le constructeur
Elle a aussi une méthode
- Incrémenter() : qui permet d’incrémenter les minutes et les secondes
- seDessiner(Graphics g) : qui prend en paramètre un objet graphics et dessine la
valeur des minutes et des secondes sous forme de chaînes de caractères.

3) Nous déclarons aussi un panneau PanneauHorloge qui crée une instance de la classe
Horloge et redéfinie la méthode paintComponent() en appelant la méthode se dessiner
de l’Horloge.
4) Le cadre principal crée une instance de PanneauHorloge et invoque la méthode
repaint() du panneau lors de l’initialisation de l’application. Exécuter ce programme.

Partie II
Nous désirons maintenant rendre l’horloge active. Pour ce faire nous allons créer un
processus qui gère l’incrémentation de la valeur de l’horloge et qui affiche le résultat dans
le panneau.
1) Pour ce faire, on crée une instance d’un objet dit Thread dans le cadre principal et qui
représente un processus en java comme suit :
Thread T=new Thread(this)

2) Le Thread doit être démarré lors de l’initialisation du cadre principal en invoquant la


méthode start.
3) Pour faire tourner ce processus dans notre application, le cadre principal doit
implémenter l’interface Runnable et redéfinir la méthode run().

4) Dans cette méthode run(), il s’agit d’incrémenter la valeur de l’horloge et de


redessiner le résultat à chaque fois que cette valeur est changée. Pour incrémenter
l’horloge, on appelle
T.sleep(délai)
Horloge. Incrémenter().
Partie III

Nous désirons maintenant déplacer un objet en même temps que l’horloge avance, pour
obtenir le résultat suivant :

Pour ce faire, nous créerons la classe suivante :

1) Personnage qui possède un objet ImageIcon qui représente le personnage. Cette classe
possède deux méthodes :
- seDeplacer() : qui change les coordonnées du personnage
- seDessiner(Graphics g, ImageObserver o) : cette méthode permet de dessiner
l’objet dans le contexte de l’objet qui l’observe « ImageObserver ». Cette méthode
invoque la méthode drawImage() de l’objet Graphics.

2) Comme nous avons fait pour l’horloge, nous allons créer une instance de l’objet
Personnage dans le panneau PanneauHorloge et dans la méthode paintComponent(),
nous allons appeler la méthode seDessiner() du personnage.
3) La méthode seDeplacer() de l’objet Personnage doit être appelée dans la méthode
run() du cadre principal après la méthode Horloge. Incrémenter().

You might also like