2014-04-28 14 views
0

이미지를 이미지 배경으로 사용하는 응용 프로그램을 만들었습니다. 이클립스에서 완벽하게 작동하지만, .Jar 파일에 이미지를 표시 할 때 이미지가 표시되지 않습니다. 나는 Stackoverflow에 대한 답변 서핑 비슷한 게시물을 발견하고 솔루션을 시도했지만 아무것도 효과가.이미지가 JAR에 표시되지 않습니다

여기 내가 끝내 준 것입니다.

private void init(){ 
setPreferredSize(new Dimension(w, h)); 
setVisible(true); 

URL url = getClass().getResource("Graph2.png"); 
System.out.println("Value = " + url); 
img = Toolkit.getDefaultToolkit().createImage(url); 
} 

생성자는 이미지 내가 모든 곳에서 이미지를 퍼팅 시도 문제에서, 무엇

private void initializeGrid(Graphics g) { 

    Graphics2D g2d = (Graphics2D) g; 
    g2d.drawImage(img, 0, 0, this); 

} 

확실하지 그리는 다음 내가 paintComponent에이 함수를 호출 GUI를 초기화하기 위해이 함수를 호출 빈 밖에있는 폴더가 빈 안에 있습니다. GUI 패키지 안에는 아무것도 들어 있지 않습니다. 사전

+0

'System.out.println()'메서드는 무엇을 출력합니까? – APerson

+0

값 = 파일 :/C : /Users/ahmed/CollegeProjects/Numerical/bin/Graphics/Graph2.png –

+0

.jar에서 실행하면 어떨까요? – APerson

답변

1

이를 설정하는 일반적인 방법으로

덕분에 이클립스에서이 같은 폴더를 만드는 것입니다 :

bin/ 
resources/ 
src/ 

그것이 srcbin에 정확히 같은 resources에서 패키지 구조를 만듭니다. 이미지 파일을 src에로드하려고하는 클래스와 동일한 패키지 resources에 복사하십시오.

프로젝트> 속성> Java 빌드 경로> 소스에서 srcresources을 원본 폴더로 모두 추가하십시오. 이제 프로젝트를 빌드 할 때 resources의 내용이 bin에 복사되고 IDE에서뿐만 아니라 JAR에서도 작동합니다.

+0

내가이 구조 빈 그래픽 수학 SRC 그래픽 수학 내가 자원/그래픽에 그림을 추가하고 여전히 아무것도 –

+0

내가 할 수있는 일이 있었하지 그래픽 자원이 널 (null)의 JLabel의 가치의 추가 웬일인지 새 줄을 추가하지 마라. –

0

URL url = getClass().getResource("/com/test/mypackage/Graph2.png");

처럼, JAR 당신에게 이미지를 절대 위치를 지정하여보십시오 이미지 클래스의 가까운 장소 또는

URL url = getClass().getResource("/Graph2.png");

경우 경우 루트 이미지 장소 JAR 파일

파일명이 "Graph2.png"인 경우는 "grap"가 아닙니다. h2.png "

관련 문제