Bonjour![]()
J'essaie de creer une animation simple.
Il s'agit d'un rectangle qui se deplace vers la droite lorsque j'appuie sur la fleche de droite.
J'ai donc creer trois classes :
1 -> Principale Qui est mon JFrame contenant ma methode paint
2 -> Deplacement Qui est mon ecouteur d'evenement
3 -> Raquette Qui est mon rectangle a déplacer.
Ma classe Principale ( J'ai supprimer les imports ... )
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 public class Principale extends JFrame { public Raquette r = new Raquette(100,450); /** Creates a new instance of Principale */ public Principale() { super("testJava2D"); this.setVisible(true); this.setSize(500, 500); this.getContentPane().add(new GuiJeu()); this.addKeyListener(new Deplacement(this)); } public void paint(Graphics g){ Graphics2D g2 = (Graphics2D)g; r.dessiner(g2); } public static void main(String [] argv){ new Principale(); } }
Et ma classe Raquette
Apres avoir vu mains tutoriels je n'arrive pas a trouver ce qui ne vas pas ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 public class Raquette { public int x; public int y; /** Creates a new instance of Raquette */ public Raquette(int x,int y) { this.x = x; this.y = y; } public void dessiner(Graphics2D g){ Shape r = new Rectangle2D.Float(x,y,200,20); g.draw(r); } }
Le probleme est que l'affichage ne se renouvelle pas. Lorsque mon rectangle se deplace, la trace de l'ancien reste sur le JFrame ..
Est ce parceque j'utilise un Graphics2D ?
merci ..![]()
Partager