Travaux Dirig´es no3
Java Avanc´e
—M1—
Mod`ele – Vue – Contrˆoleur (MVC)
Conception object, h´eritage, interfaces, d´el´egation, polymorphisme
xExercice 1. Graphiques 2D
On souhaite utiliser les fonctionnalit´es du SDK Java pour dessiner des formes `a l’´ecran.
Pour cela on utilisera les classes Graphics et Graphics2D du package java.awt et les
classes JFrame et JPanel du package javax.swing.
1. Lire la documentation et d´eterminer la fonction de chacune de ces classes ainsi
que les ´eventuels liens qui les connectent.
2. Cr´eer un nouveau package fr.javaavancee.td3.vue et cr´eer une classe
MyDisplay qui h´erite de la classe JPanel.
3. Ajouter une methode main(...) `a la classe MyDisplay avec le contenu suivant.
1public static void main(String []args){
2JFrame frame = new JFrame("Java Avanc´e - Graphic Display");
3frame.setSize(new Dimension(500,500));
4frame.setVisible(true);
5frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
6
7MyDisplay d = new MyDisplay();
8frame.add(d);
9}
Trouver dans la documentation la fonction de chacune de ces instructions.
4. Red´efinir la m´ethode paintComponent() de la classe m`ere JPanel et utiliser
la m´ethode drawLine(...) de la classe java.awt.Graphics pour dessiner une
ligne `a l’´ecran.
5. La m´ethode paintComponent() est appel´ee lors du premier affichage du JPanel,
`a quel autre moment cette m´ethode est-elle appel´ee ?
6. Quelle diff´erence fondamentale y a t’il entre le package java.awt et le package
javax.swing.
xExercice 2. Mod`ele et vue
Dans cet exercice, vous allez modifier le package fr.dauphine.javaavance.td3.vue
1