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.
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.