Bonjour,
j'ai plusieurs voiture et j'ai besoin de tracé un cercle a leurs point d'arrivé donc j'ai fait ça :
Le problème c'est que les cercles s'affiche a la même coordonnées, donc on voit seulement le dernier. pourtant mes voitures on toute un Point arrivée différent mais il ne les prend pas en compte dans le for each, comme si il n’itère pas sur toute la liste, pareil si je met un for tout bête pour parcourir la liste.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 public void paintComponent(Graphics g){ Point arrive; super.paintComponent(g); Graphics2D gr = (Graphics2D) g; for(Voiture voit : voiture) { arrive = voit.getArrive(); gr.setColor(voit.getCouleur()); gr.setBackground(voit.getCouleur()); gr.fillOval((int)arrive.getX(), (int)arrive.getY(), 500/mapCalcul.getTaille() ,500/mapCalcul.getTaille()); } }
en affichant arrive avec un println, c'est les même coordonnée pour tout le monde, alors que dans ma liste voiture, j'ai bien plusieurs objet Voiture différente.
je ne comprend pas pourquoi.
merci de votre aide.
edit : avec un Iterator<Voiture> cela ne fonctionne toujours pas...
Partager