Rumah >Java >javaTutorial >Mengapa JPanel Saya Tidak Mengemas kini dalam Permainan Teka-teki Berasaskan Jubin Saya?
JPanel Tidak Mengemas kini dalam Permainan Teka-teki
Dalam permainan teka-teki dengan jubin yang diletakkan secara rawak, JPanel yang mengehos jubin tidak mengemas kini apabila imej ditambah kepadanya. Isu ini menghalang imej baharu daripada dipaparkan, menyebabkan teka-teki tidak boleh dimainkan.
Memahami Masalah
Isunya terletak pada kaedah addComponents() yang digunakan untuk tambah imej pada JPanel. Apabila imej yang dikemas kini dihantar kepada kaedah, ia mengalih keluar komponen sedia ada dengan betul tetapi gagal untuk mengesahkan semula dan mengecat semula JPanel dengan betul. Ini mengakibatkan imej baharu tidak dipaparkan.
Penyelesaian
Untuk menyelesaikan isu tersebut, kaedah addComponent() harus disemak untuk memasukkan langkah pengesahan semula dan pengecatan semula yang diperlukan . Kod yang dikemas kini di bawah memastikan JPanel dikemas kini dengan imej baharu:
public void addComponents(Img[] im){ this.removeAll(); for(int i=0; i<16; i++){ im[i].addActionListener(this); im[i].setPreferredSize(new Dimension(53,53)); add(im[i]); } this.revalidate(); **Repaint the JPanel to display the updated images** this.repaint(); }
Dengan pengubahsuaian ini, kaedah addComponent() mengalih keluar imej sedia ada dengan betul, menambah imej baharu, mengesahkan semula JPanel dan mengecat semula ia dengan jubin yang dikemas kini. Permainan teka-teki kini seharusnya berfungsi dengan betul, memaparkan imej baharu dalam JPanel.
Atas ialah kandungan terperinci Mengapa JPanel Saya Tidak Mengemas kini dalam Permainan Teka-teki Berasaskan Jubin Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!