이미지로드를 시도했지만 이클립스에서 잘 작동합니다. 그러나 컴파일 할 때 입력 == null로 인해 충돌합니다. 아이콘을 얻는 방법은 여기에 있습니다 : 나는 나 같은 오류와 함께 다른 스레드를 읽고입력 == null 이미지를로드 할 때
input == null!
Image folder stream:[email protected]656e
Image folder + image stream: null
input == null!
Image folder stream:[email protected]e634
Image folder + image stream: null
,하지만 난 그것을 해결하지 못하고 :
public ImageIcon getIcon(String iconName){
InputStream imageStream = this.getClass().getClassLoader().getResourceAsStream("images"+File.separator+iconName);
InputStream t = this.getClass().getClassLoader().getResourceAsStream("images");
Image image = null;
try
{
image = ImageIO.read(imageStream);
return new ImageIcon(image);
}
catch(IOException e){
return null;
}
catch(IllegalArgumentException e){
System.out.println(e.getMessage());
System.out.println("Image folder stream: Im"+t);
System.out.println("Image folder + image stream: "+imageStream);
return null;
}
}
콘솔 출력은 . 어떤 도움을 주시면 감사하겠습니다.
상대 경로 대신 이미지의 전체 경로를 사용해보십시오. – sreisman
첫 번째로, getResourceAsStream()은'/'- 세퍼레이트 된 경로를 기대합니다. 따라서 File.separator는 사용하지 말고'/'를 사용해야합니다. 둘째, iconName의 값은 무엇입니까? 프로젝트의 구조는 무엇입니까? 프로그램을 빌드하고 실행하는 방법은 무엇입니까? 구조에있는 아이콘의 위치는 어디입니까? –
와우. File.separator를/fixed로 대체합니다. 도움을 주셔서 감사합니다, 당신이 원할 경우 답변으로 게시하십시오. –