2015-01-26 4 views
0

내 코드에서 응용 프로그램은 res /라는 폴더에서 리소스를 가져 와서 Manifest.mf 파일에서 "클래스 경로"가 res /로 설정되어 있지만 항아리 안의 res/폴더 안의 파일을 읽지 않는다면, 항아리 파일이있는 폴더에서 res/폴더를 읽습니다. (잘못 설명하는 것에 대해 유감스럽게 생각합니다) 예 : "게임"폴더에 내 항아리가있는 경우 res 폴더는 "게임"안에 있어야 동작 할 수 있습니다. 내 질문은 : 항아리 안에서 입술을 읽으려면 어떻게해야합니까?.jar 파일의 .res/폴더 - MANIFEST.MF

나는이 같은 ImageIcons을 설정 한 :

ImageIcon icon = new ImageIcon("res/image.png"); 
+0

이 http://stackoverflow.com/questions/676097/java-resource-as-file –

답변

1

는 자바 독을 읽어보십시오. 사용중인 생성자는 다음과 같이 설명 :

공공 이미지 아이콘 (문자열 파일 이름)

지정된 파일로부터 이미지 아이콘을 생성합니다.

그래서 클래스 경로를 전혀 사용하지 않습니다. 현재 디렉토리에서 res/image.png 파일을 찾습니다.

항아리가 classpath에 있기 때문에 항아리의 모든 항목을 클래스 로더에서 액세스 할 수 있습니다. 매니페스트 입력이 필요하지 않습니다. 하지만 당신은 클래스 로더를 사용하여 이미지 리소스를로드해야합니다

ImageIcon icon = new ImageIcon(MyClass.class.getResource("/res/image.png")); 
+0

나는 내일 노력하겠습니다. 감사! :) – roboticonx8