Maison >Java >javaDidacticiel >Comment accéder à la largeur et à la hauteur de JPanel à partir d'une classe externe ?

Comment accéder à la largeur et à la hauteur de JPanel à partir d'une classe externe ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-14 18:25:13685parcourir

How to Access JPanel Width and Height from an External Class?

Comment obtenir la largeur et la hauteur de JPanel en dehors de la classe

Dans votre code, vous essayez d'accéder à la largeur et à la hauteur de JPanel de la classe Rect, ce qui n'est pas possible car la classe Rect ignore qu'elle contient JPanel. Pour résoudre ce problème, vous pouvez transmettre une référence du JPanel à la méthode move() dans la classe Rect.

Voici comment modifier le code :

GamePanel.java

public class GamePanel extends JPanel implements Runnable{
    // ... (same as before)

    public void move() {
        for(Rect rect: rect) {
            rect.move(this); // Passing 'this' reference to the 'move()' method
        }
    }
}

Rect.java

public class Rect {
    // ... (same as before)

    public void move(JPanel panel){
        // Now you can access the JPanel's width and height using 'panel'
        int jpWidth = panel.getWidth();
        int jpHeight = panel.getHeight();
        
        // ... (remaining code)
    }
}

Avec ces modifications, le déplacement () de la classe Rect peut désormais accéder à la largeur et à la hauteur du JPanel mis à jour, vous permettant d'ajuster le mouvement des rectangles en fonction de la valeur actuelle. dimensions de la fenêtre.

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!

Déclaration:
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