Heim >Java >javaLernprogramm >Wie greife ich über eine externe Klasse auf die Breite und Höhe von JPanel zu?
So erhalten Sie JPanel-Breite und -Höhe außerhalb der Klasse
In Ihrem Code versuchen Sie, auf die Breite und Höhe des JPanels zuzugreifen aus der Rect-Klasse, was nicht möglich ist, da die Rect-Klasse nicht weiß, dass sie JPanel enthält. Um dieses Problem zu beheben, können Sie eine Referenz des JPanel an die move()-Methode innerhalb der Rect-Klasse übergeben.
So können Sie die ändern 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) } }
Mit diesen Änderungen ist der Umzug ()-Methode in der Rect-Klasse kann jetzt auf die Breite und Höhe des aktualisierten JPanel zugreifen, sodass Sie die Bewegung der Rechtecke basierend auf dem aktuellen Fenster anpassen können Abmessungen.
Das obige ist der detaillierte Inhalt vonWie greife ich über eine externe Klasse auf die Breite und Höhe von JPanel zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!