Maison > Java > javaDidacticiel > Comment confiner le mouvement des étoiles dans un JFrame à l'aide de la méthode move() ?

Comment confiner le mouvement des étoiles dans un JFrame à l'aide de la méthode move() ?

Barbara Streisand
Libérer: 2024-11-30 21:24:14
original
351 Les gens l'ont consulté

How to Confine Star Movement Within a JFrame Using the move() Method?

La méthode move() de la classe Star est responsable du déplacement de l'étoile. Cependant, il vérifie uniquement les constantes WIDTH et HEIGHT, qui sont définies pour la taille du JPanel sur lequel l'étoile est dessinée. Cela signifie que si l'étoile se déplace en dehors du JPanel, elle continuera à se déplacer dans la même direction et ne sera pas déplacée dans le JPanel.

Pour résoudre ce problème, la méthode move() doit être mise à jour pour vérifiez la largeur et la hauteur du JFrame dans lequel se trouve le JPanel. De cette façon, l'étoile sera déplacée dans le JFrame si elle se déplace en dehors du JPanel. Voici le code mis à jour pour la méthode move() :

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);
}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal