L'extrait de code donné est une implémentation d'un programme Java qui crée un arbre de Noël avec des ornements générés aléatoirement. Cependant, le programme rencontre un problème où les ornements qui se déplacent en dehors des limites de l'arbre ne sont pas correctement déplacés à l'intérieur des limites. Pour résoudre ce problème, la méthode move() de la classe Star doit être modifiée pour vérifier que les limites du conteneur ont été atteintes et inverser la direction en conséquence.
Voici la méthode move() corrigée :
public void move() { if (location.x < 0 || location.x > frame.getContentPane().getWidth() - 20) { xIncr = -xIncr; } if (location.y < 0 || location.y > frame.getContentPane().getHeight() - 20) { yIncr = -yIncr; } translate(xIncr, yIncr); location.setLocation(location.x + xIncr, location.y + yIncr); }
Dans cette version corrigée, la méthode move() vérifie pour atteindre les limites gauche, droite, supérieure et inférieure du conteneur (frame.getContentPane()) dans les conditions if. Si l'une de ces limites est atteinte, le xIncr ou yIncr correspondant est inversé, provoquant le changement de direction de l'ornement et son retour dans les limites.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!