Java IHM

Département Informatique – DUT app

TP - TD Dessin (1)

Exercice 1

Exécutez le fichier 'AFaire.class' et testez les différentes actions souris et souris (déplacement de la souris en cliquant, sans cliquer...). Testez notamment les combinaisons de touche suivantes : < Ctrl + c >, < Alt + r >, < Ctrl + Alt + Shift + d >

Exercice 2

Ouvrez le fichier 'Squelette.java' et faites les modifications nécessaires pour avoir un programme équivalent à 'AFaire'.

Exercice 3

Si l'on iconifie la fenêtre, le dessin disparaît. Corrigez le problème (utilisez notamment un tableau de points nommé 'dess').

Exercice 4

Modifiez le code en utilisant un JPanel pour le tracé du dessin et un JLabel (ou mieux un JTextArea), placé dans un JPanel au bas de la fenêtre, pour l'affichage du texte de la console.


Exercice 5

Générez une exception si l'on tente de dépasser la capacité du tableau.

Exercice 6

On pourra aussi utiliser une liste de type ArrayList.

Exercice 7

On souhaite maintenant sauver dans un fichier votre beau dessin. Ecrire les méthodes permettant la sauvegarde et le chargement d'un tel fichier.


Suite du Dessin...

Au lieu d'utiliser un tableau de coordonnees, on va maintenant utiliser une liste de figures geométriques pour memoriser le dessin que vous réalisez à la souris. On veut également mémoriser non seulement les segments de droite, mais aussi toutes les figures geométriques (cercle, rectangle, triangle...).

Pour ce faire, on utilisera l'interface suivante :

interface Tracable{
public void dessine(Graphics g);
}

Modifiez le programme réalisé au TP précédent qui permettront d'obtenir les fonctionnalités suivantes :

1 l'appui sur une touche du clavier modifie le mode de tracé :
< c > pour un cercle, < Alt + c > pour un cercle peint, etc. un clic souris dessinant la figure en fonction du mode sélectionné ;

2 pour chaque figure dessinée, un objet de la classe correspondante est instancié et l'instance est mémorisée dans une liste ;

3 on souhaite utiliser un mode "couleur" permettant de changer la couleur de la figure à dessiner parmi un ensemble de couleurs mémorisés dans un tableau. Ainsi, les appuis successifs sur une touche (par exemple '1') permettront de dessiner en bleu, puis en rouge....

4 On ajoutera des boutons qui rempliront aussi ces fonctions : on souhaite utiliser un mode "couleur" permettant de changer la couleur de la figure à dessiner parmi un ensemble de couleurs.

conseils :

- utiliser la méthode requestFocus() pour obtenir le focus si les touches clavier "ne répondent pas" ;

- utiliser la méthode setColor(Color c) de la classe Graphics pour changer la couleur de trait ;

- voir la documentation Java de la classe Color.