2010-04-26 6 views
1

JPanel에 이미지를 추가하려고합니다. 이미지의 전체 이름 (모든 폴더의 이름 포함)을 지정하면 작동합니다. 그러나 나는 내 소프트웨어가 기계 독립적 (다른 기계는 내 기계와 동일한 폴더 구조를 가지고 있지 않다)을 원한다. 그래서, 나는 소스가있는 곳과 같은 곳으로 이미지를 집어 넣고, 코드에는 이미지의 이름 만 사용한다 (폴더 이름 없음). 작동하지 않습니다. 내 실행 파일이있는 폴더에 이미지를 저장합니다. 다시는 작동하지 않습니다. 그래서, 왜 효과가 없으며, 나는 그것을 어떻게 할 수 있습니까?이미지의 전체 이름을 사용하지 않으면 왜 이미지를 볼 수 없습니까?

답변

3

상대 파일 이름은 응용 프로그램의 현재 디렉토리 (System propertyuser.dir에 정의 된대로)와 관련하여 확인되었으므로 소스/jar 위치 일 필요는 없습니다.

응용 프로그램과 함께 제공하는 이미지 (또는 다른 자원)를로드하려면 응용 프로그램의 .jar 파일에 넣고 ClassLoader을 사용하여로드하는 것이 가장 좋습니다. getResource() 및/또는 getResourceAsStream().

관련 문제