1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| if (overItem!=null) {
// La souris est sur un Item
// On doit redessiner la zone correspondante :
// On récupère la zone occupé par l'Item :
Rectangle bounds = overItem.getBounds();
// On redessine le background :
g.drawImage(this.background,
clip.x, clip.y, clip.x+clip.width, clip.y+clip.height,
clip.x, clip.y, clip.x+clip.width, clip.y+clip.height, null);
// Puis on parcours la liste des Items :
for (Item item : alItem) {
// Et on redessine uniquement les items dans cette zone :
if (bounds.intersects(item.getBounds())) {
item.draw(g);
}
}
} |