Rumah > Java > javaTutorial > Mengapa JPanel Saya Tidak Mengemas kini dalam Permainan Teka-teki Berasaskan Jubin Saya?

Mengapa JPanel Saya Tidak Mengemas kini dalam Permainan Teka-teki Berasaskan Jubin Saya?

Susan Sarandon
Lepaskan: 2024-11-29 01:23:11
asal
369 orang telah melayarinya

Why Isn't My JPanel Updating in My Tile-Based Puzzle Game?

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();
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan