Cara Mendapatkan JPanel Lebar dan Tinggi Di Luar Kelas
Dalam kod anda, anda cuba mengakses lebar dan tinggi JPanel daripada kelas Rect, yang tidak mungkin kerana kelas Rect tidak mengetahui kandungannya JPanel. Untuk menangani isu ini, anda boleh menghantar rujukan JPanel kepada kaedah move() dalam kelas Rect.
Begini cara anda boleh mengubah suai kod:
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) } }
Dengan pengubahsuaian ini, langkah itu () dalam kelas Rect kini boleh mengakses lebar dan ketinggian JPanel yang dikemas kini, membolehkan anda melaraskan pergerakan segi empat tepat berdasarkan dimensi tetingkap semasa.
Atas ialah kandungan terperinci Bagaimana untuk Mengakses JPanel Lebar dan Tinggi daripada Kelas Luaran?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!