2012-05-07 3 views
3

getClass().getResource() 메서드를 사용할 때 실행식 jar 파일을 내보낼 때 res 폴더를 컴파일해야합니다..jar 파일에서 이미지 가져 오기

작동하지 않습니다

public Image loadImage(String fileName) { 
    return new ImageIcon(fileName).getImage(); 
} 

코드 현재 읽기 이미지 코드

public Image loadImage(String fileName) { 
    return new ImageIcon(getClass().getResource(fileName).getImage(); 
} 
+0

'fileName'의 값은 무엇입니까? 항아리의 구조는 무엇입니까? 이러한 패키지가 포함 된 클래스는 무엇입니까? –

+0

이미지 player1 = loadImage ("res/player1.png"); 따옴표로 표시된 비트는 fileName – DCSoft

답변

2

는 지금이 문제를 해결 한 -이 파일 이름 값은 단지 이미지 이름의 예 의 BufferedImage의 IMG = loadImage ("background.png")입니다

public BufferedImage loadImage(String fileName){ 

    BufferedImage buff = null; 
    try { 
     buff = ImageIO.read(getClass().getResourceAsStream(fileName)); 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
     return null; 
    } 
    return buff; 

} 

를 작동하는 코드;

도움 주셔서 감사합니다.

+0

아직 이클립스를 사용하는 동안 당신이 잘못하고있는 것 같아요,이 게시물을 방문 해봤 : [귀하의 이클립스 프로젝트에 이미지를 추가하는 방법] (http://stackoverflow.com/questions/9864267/load- 아이콘 - 이미지 - 예외/9866659 # 9866659), 여기 또는 [여기] (http://gagandeepbali.uk.to/gaganisonline/webpages/makejareclipse.html)에 나와있는 단계를 수행하는 데 도움이 될 수 있습니다. –

+0

실제로이 코드는 작동합니다. 나는 res라는 폴더를 만들고 Eclipse에서 마우스 오른쪽 버튼을 클릭하고 Bath 만들기 : 소스 폴더로 사용을 클릭하면 코드가 작동하고 예전에 그 게시물을 보았습니다. – DCSoft

+0

좋아, 다행이야 .--) –

2

다음 중 하나를

  • 경로는, 당신이 그렇게하면 오류 메시지가 표시한다 잘못, 그것이 실제로 시도한 경로를 확인하기 위해 확인하십시오. 또는 디버그하여 어떤 경로가 시도하는지 확인하거나 심지어 시도하는 경로를 인쇄하십시오.

또는

  • 는 항아리에 아니에요. zip 프로그램으로 jar 파일을 확인하거나 파일 이름을 zip으로 바꾸고 파일이 실제로 있는지 확인하십시오.
+0

의 값입니다. 감사합니다. jar 파일의 res 폴더를 컴파일하기 위해 Eclipse를 사용할 수없는 것 같습니다. classpath에 추가해야합니까? – DCSoft

+0

파일 메뉴에서 내보내기 기능을 사용하고 있습니까? 마법사에서 거기에 도착하면 res 폴더 및/또는 파일 및/또는 파일 형식을 포함시켜야합니다. –

+0

그래, 그게 내가하고있는 일이지만 실행 가능한 jar 파일을 내보낼 때 export jar 파일에서만 사용할 수있는 옵션이 없다. – DCSoft