Bonjour,
le titre n'est pas facile à trouver pour ce sujet...
J'ai créé une carte interactive qui utilise la superposition d'images.
Chaque image est un object de la classe Item.
Pour mener à bien la superposition d'images Item, j'ai du utilisé un override de paintComponent() dans une autre classe (Interface.java) puique rien d'autre ne marchait (utiliser des JLabel par exemple, ...).
Dans cette nouvelle methode paintComponent, j'appel la fonction DrawItem de la classe Item qui dessinera l'image souhaitée grâce à drawImage().
voici le code :
tout ceci fonctionne parfaitement, le souci est que lorsque je fait un repaint() dans un autre endroit du code, cette fonction paintComponent est appelée, et du coup redessine TOUTES les images (vItem.elementAt(i))...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 public void paintComponent(Graphics g) { super.paintComponent(g); //pour empêcher les images avec les "anciennes" propriétés (position notamment) de se redessiner for(int i = 0; i < vItem.size(); i++) { vItem.elementAt(i).DrawItem(g); } }
Du coup, lorsque je fais des mouseDragged, ça ralentit consédérablement les mouvements...
J'espère que vous saurez m'aider à résoudre ce problème...
Partager