2014-08-05 2 views
0

브라우저에서 애플릿을 실행할 때 nullpointer excetion을 얻는 반면 애플릿 뷰어를 통해 정상적으로 작동합니다.JApplet에서 이미지를로드하는 동안 널 포인터 예외가 발생했습니다.

titleicon=new ImageIcon(this.getClass().getClassLoader().getResource("image.jpg")); 
img=new JLabel(titleicon) 

파일 위치 : .class 파일과 이미지 파일은 모두 같은 폴더에 있습니다.

C : \ 프로젝트 \의 game.class
C : \ 프로젝트 나는 아무도 브라우저에서 작동하지 않고 모든 애플릿 뷰어로 괜찮, differennt 변화 아래 시도

\의 image.jpg를 :

titleicon=new ImageIcon(this.getClass().getResource("image.jpg")); 
titleicon=new ImageIcon(getClass().getClassLoader().getResource("image.jpg")); 
+1

'titleicon = new ImageIcon (새 URL (getCodeBase())'이미지 .jpg "));' –

답변

2
이 필요한 resou에 대한 클래스 경로를 검색으로
C:\project\game.class 
C:\project\image.jpg 

Class.getResource가 작동하지 않습니다

의 파일 위치와

rces.

getResource을 사용하면 리소스가 포함되어 있고 클래스 경로와 관련이 있다고 가정합니다.

자세한 내용이 없으면 정확한 제안을하기는 어렵지만 응용 프로그램 코드없이 이미지를 jared하는 것이 좋습니다. 이렇게하면 쉽게 찾을 수 있습니다. 당신이 당신의 클래스 및 자원을 JARING 할 수있는 IDE를 사용하지 않는 경우

는, 당신은 Class#getResource 상대 조회를 수행 할 수있는, Packaging Programs in JAR Files

기억을 살펴 있어야합니다. 이미지가 클래스를로드하는 클래스와 동일한 패키지에 저장되지 않은 경우 절대 경로를 사용해야합니다.