Maison >Java >javaDidacticiel >Comment accéder à la largeur et à la hauteur de JPanel à partir d'une classe externe ?
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!