Bonjour à tous,
Peut-on m'aider sur une boucle infinie?
je suis sûr que la réponse est devant mes yeux mais etant un novice,je ne trouve pas et ca m'enerve
j'ai fait une boucle infinie pour faire rebondire une balle quand elle touche les bords de la fenetre( enfantin normalement...)
mais voila, le code ci-dessous n'affiche rien et si je désactive la méthode lancer(), ben l'affichage est correct mais ca ca bouge pas; le probleme est donc la méthode lance()...
Encore une chose, pour les animations, est il plus adéquat d'utiliser un Thread.sleep ou un objet ActionListener? et pourquoi?
Merci d'avance.
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 private void lancer(){ int x,y; boolean invX=false; boolean invY=false; while(true) { x=bal.getPosX(); y=bal.getPosY(); if (x>this.getWidth()-bal.getLargBal()) invX=true; if (x<1) invX=false; if (y>this.getHeight()-bal.getHautBal()) invY=true; if (y<1) invY=false; if (invX==true) { bal.setPosX(x--); } else { bal.setPosX(x++); } if (invY==true) { bal.setPosY(y--); } else { bal.setPosY(y++); } this.repaint(); try { Thread.sleep(10); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
Partager