Bonjour,
Voilà un problème qui me prend la tête depuis un bon moment :
Je résume. Je crée un Path2D avec plusieurs appels à moveTo puis lineTo alternativement pour créer un chemin en plusieurs morceaux.
Ensuite, je fais crée un pathIterator que je parcours à l'aide d'une boucle while du genre :
A la fin de la boucle le programme plante et me renvoie un arrayindexOfBoundException. Plus precisemment :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 PathIterator pi = chemin.getPathIterator(null); while(!pi.isDone()) { //traitement... pi.next(); pi.currentSegment(tableau); }
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 20
at java.awt.geom.Path2D$Double$CopyIterator.currentSegment(Path2D.java:1643)
je ne comprends pas car quand je parcours un chemin à l'aide d'un pathItarator ce genre de truc ne m'est jamais arrivé. Le "array" en question est un tableau à l'intérieur de la méthode currentSegment de la classe Path2D.
J'ai cherché de partout, impossible de comprendre d'où vient cette erreur.
Des indices tout de même :
1) Si mon path2D ne se compose que d'un seul morceaux (i.e. un appel à moveTo puis que des lineTo) alors cela ne plante plus.
2) vraiment bizarre : si je garde mes moveTo et lineTo mais que je modifie leurs paramètres, plus de platage ! Je veux dire qu'il semblerait que ce soit des valeurs bien spécifiques des paramètres de lineTo et moveTo qui fasse planter le programme !
Avez-vous une idée de là où ça pourrait venir ?
Merci bien.
Virgile
Partager