> Java > java지도 시간 > 타일 ​​기반 퍼즐 게임에서 JPanel이 업데이트되지 않는 이유는 무엇입니까?

타일 ​​기반 퍼즐 게임에서 JPanel이 업데이트되지 않는 이유는 무엇입니까?

Susan Sarandon
풀어 주다: 2024-11-29 01:23:11
원래의
361명이 탐색했습니다.

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

퍼즐 게임에서 JPanel이 업데이트되지 않음

무작위로 타일이 배치된 퍼즐 게임에서 이미지가 업데이트될 때 타일을 호스팅하는 JPanel이 업데이트되지 않습니다. 그것에 추가되었습니다. 이 문제로 인해 새 이미지가 표시되지 않아 퍼즐을 플레이할 수 없게 됩니다.

문제 이해

문제는 addComponents() 메서드에 있습니다. JPanel에 이미지를 추가합니다. 업데이트된 이미지가 메소드에 전달되면 기존 구성요소가 올바르게 제거되지만 JPanel을 제대로 재검증하고 다시 그리는 데 실패합니다. 이로 인해 새 이미지가 표시되지 않습니다.

해결 방법

문제를 해결하려면 addComponents() 메서드를 수정하여 필요한 재검증 및 다시 그리기 단계를 포함해야 합니다. . 아래의 업데이트된 코드는 JPanel이 새 이미지로 업데이트되도록 보장합니다.

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();
}
로그인 후 복사

이 수정을 통해 addComponents() 메서드는 기존 이미지를 올바르게 제거하고, 새 이미지를 추가하고, JPanel을 다시 검증하고, 다시 칠합니다. 업데이트된 타일로 확인하세요. 이제 퍼즐 게임이 제대로 작동하여 JPanel에 새 이미지가 표시됩니다.

위 내용은 타일 ​​기반 퍼즐 게임에서 JPanel이 업데이트되지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿