2012-01-29 3 views
2

Java에서 GUI를 프로그래밍 중이며 Eclipse에서 응용 프로그램을 실행하는 동안 아이콘 및 기타 등등이 문제가되지 않지만 응용 프로그램을 내 보낸 후 아이콘이 사라졌습니다.Swing 응용 프로그램을 내 보낸 후 아이콘이 표시되지 않습니다.

아이콘은 다음 경로의 클래스 경로 resources/icons에 있습니다.

JButton browseButton = new JButton("Browse", new ImageIcon("resources/icons/browse.png")); 
+0

이 질문이 있었나요 : 전체 꼬추 관련

더 많은 정보는이에 내 또 다른 답을 찾을 수 있습니까? BTW - '파일'을 사용하여 아이콘에 액세스하지 마십시오. Jar에서는 작동하지 않습니다. 대신 'URL'을 사용하십시오. –

+1

그런 질문을하면 실제로 아이콘을 열 때 사용하는 코드를 게시하는 것이 좋지 않겠습니까? – Robin

+1

@Robin 많은 질문자가 '좋은 아이디어'를 많이 갖고 있다면 검색 Google과 포럼, 디버거를 사용하여, 튜토리얼, RTFM을해라. *** ***과 같은 사이트에서 질문이 적다. ;) –

답변

4

@kleopatra가 안내하는 것처럼 보입니다. 이것은 분명히 올바른 방법입니다. 리소스 폴더를 만들 때 프로젝트를 마우스 오른쪽 단추로 클릭 한 다음 소스 폴더로 이동하여 리소스/아이콘 이름을 지정한 다음 이미지를 해당 폴더에 수동으로 넣고 이클립스로 돌아가서 프로젝트를 새로 고침하십시오 . 이제 당신은 runnable jar에서도 이러한 이미지를 사용할 수 있습니다.

는 이제 클래스에 이미지/아이콘을 사용하려면 다음이

private ImageIcon getImage(String path) 
{ 
    URL url = getClass().getResource(path); 
    System.out.println(url); 
    if (url != null) 
     return (new ImageIcon(url)); 
    return null; 
} 

사용하여 path"/myIcon.png"을처럼 resources/icons 폴더 안에 슬래시로 image 접두사를,의 이름이됩니다 답변을 게시하기 전에 확신을 갖고 싶었습니다. 다른 시간을 좀주세요. 나는 당신이 볼 수 있도록 모든 단계를 어딘가에 두겠습니다.

Load ImageIcon Exception

+0

고마워, 다른 사람이 배운 것 같아. 당신의 설명은 굉장했습니다. – pharaoh

+0

@ pharaoh357 : 즐거움과 함께 내가 어떤 식 으로든 도와줬으면 좋겠다 :-) 감사합니다 –

+1

파일 시스템이 아닌 운영 체제에서 실행되는 경우에도 항아리 안에서 파일 이름에 액세스하면 파일 이름이 대소 문자를 구분한다는 점을 잊지 마십시오. 대소 문자를 구분합니다. –