>  기사  >  Java  >  NetBeans의 리소스 폴더에서 이미지를 검색할 때 NullPointerException을 방지하는 방법은 무엇입니까?

NetBeans의 리소스 폴더에서 이미지를 검색할 때 NullPointerException을 방지하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-07 22:35:03367검색

How to Avoid NullPointerException when Retrieving Images from Resources Folder in NetBeans?

NetBeans의 리소스 폴더에서 이미지 검색

문제 설명

NetBeans 7.0 내의 Java 프로젝트에서 "resources" 폴더에서 이미지 검색 다음 코드를 사용하면 NullPointerException이 발생합니다.

ImageIcon fillingIcon = new ImageIcon(getClass().getClassLoader().getResource("filling.jpg"));

리소스 폴더에 이미지가 있음을 확인했음에도 불구하고 이 접근 방식은 실패합니다.

해결 방법

1. 폴더 구조:

  • 빌드 중 삭제를 방지하려면 src 폴더에서 리소스 폴더를 분리하세요.

    • src 폴더 내에 리소스 폴더를 만듭니다.

2. getResource(Path):

  • Java에서 리소스는 클래스 경로의 루트를 기준으로 액세스됩니다. 이 경우 빌드 폴더 내의 "classes" 폴더입니다.

    • 절대 리소스 경로를 나타내려면 앞에 "/"를 사용합니다(예: /resources/images/logo.png).
    • 하위 폴더에 포함된 리소스의 경우 앞에 "/"를 생략합니다. (예: getClass().getResourceAsStream("/resources/allwise.ini")).

3. 예:

  • 이미지를 로드하려면 이전 코드를 다음으로 바꾸세요.
ImageIcon fillingIcon = new ImageIcon(getClass().getClassLoader().getResource("/resources/images/filling.jpg"));
  • 리소스 내의 하위 폴더에 저장된 리소스 파일의 경우 , 사용:
if (common.readFile(getClass().getResourceAsStream("/resources/allwise.ini"), buf).equals("OK")) {

4. 빌드 폴더:

  • 빌드 폴더에는 리소스 폴더의 복사본이 포함되어 있습니다. 따라서 dist 폴더에서 JAR 파일을 직접 실행하는 경우 제공된 리소스 경로가 작동해야 합니다.

5. 문제 해결:

  • 이미지가 리소스 폴더 내에 있는지 확인하세요.
  • 이미지 파일 이름의 철자를 다시 확인하세요.
  • java.awt.Image 및 java.awt.ImageIcon.
과 같은 필수 클래스

위 내용은 NetBeans의 리소스 폴더에서 이미지를 검색할 때 NullPointerException을 방지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.