2011-12-22 4 views
0

이 코드를 사용하여 my java 프로젝트 외부에있는 이미지를 표시하지만 매번 NullPointerException이 발생하고 프로젝트 디렉토리 내에있는 이미지 만 사용할 수 있습니다. 왜 ?java에서 프로젝트 외부에있는 이미지 파일의 경로를 가져옵니다.

Icon welcomeImg = new ImageIcon(getClass().getResource("D:/img/welcome.png")); 
or 
Icon welcomeImg = new ImageIcon(getClass().getResource("D://img/welcome.png")); 

JLabel welcomingLb = new JLabel(welcomeImg); 
+0

'밖으로

확인합니다. 그것도? 그렇다면'File' 객체를 사용하라는 조언은 갈 길이 없다. 자세한 내용은 [이 답변] (http://stackoverflow.com/a/8462092/418556)을 참조하십시오. –

답변

-1

당신은 너무처럼 파일을 사용하여 시도 할 수 있습니다 : 당신은 당신의 전체 경로를 제공하기 때문에 파일에 액세스 할 수 ClassLoader 클래스를 사용할 필요가 없습니다

File f = new File("C:\\folder\\stuff\\MyFile.class"); 
+0

그건 맞지 않아. 슬래시를 사용할 수 있습니다. –

+0

아, 해명 해줘서 고마워. 꽤됐다. 반영하도록 편집 됨. – f1dave

+0

그것들은 역 슬래시이고 탈출해야하기 때문에 더 나쁜 것입니다. –

1

페이지의 자바 독 : 당신의 getResource를 사용할 때 Loading resources using getClass().getResource()

은 기본적으로는 클래스 패스에 파일을 기대하고있다. String 파일 이름을 사용하는 ImageIcon 생성자도 있으므로 Icon 파일 경로를 직접 전달할 수 있습니다. 응용 프로그램 자원, 아마도 시작 화면 같은 소리 welcome.png` JavaDoc for ImageIcon

+1

굿로드, 1.4? –

+0

Google의 첫 번째 검색 결과입니다. – DaveJohnston

+0

Windows Mobile에서 이전 JVM을 사용하고 있기 때문에 직장에서 Java 1.2를 사용하고 있기 때문에 1.4는 실제로 나를위한 단계입니다. – DaveJohnston

관련 문제