STUDY/Java
[Java] ImageIcon 경로 설정 / Java 이미지 불러오기 / Jlabel 이미지 삽입 / Swing 이미지 안 나올 때
devohda
2020. 10. 9. 06:00
IntelliJ로 개발하고 있는 사람이나, Eclipse 로 개발하는 사람이나 모두에게 해당되는 얘기이다.

결론부터 말하자면, 이미지를 불러오기 위해선 프로젝트 파일 아래에 이미지를 위치해야 제대로 불러올 수 있다.
왜냐하면, Java 프로젝트의 기본 경로는 src 폴더가 아니라 그 상위인 프로젝트 폴더이기 때문이다.
(나는 프로젝트 파일 아래에 images 폴더를 두고 그 안에 이미지를 위치시켰다.)
ImageIcon mario = new ImageIcon("images/super-mario.png");
JLabel lblOne;
lblOne = new JLabel("ONE", mario ,SwingConstants.CENTER);
확인을 위해 파일을 하나 만들고 절대 경로를 출력해보았다.
File path = new File(".");
System.out.println(path.getAbsolutePath());

위와 같이 현재 프로젝트 폴더인 NestedPanels 에 파일이 생기는 것을 확인할 수 있었다.
처음에는 src 폴더 아래에 이미지를 넣었더니 무슨 수를 써도 안 나오길래 절대 경로를 넣었더니 됐다.
경로의 문제구나 싶어서 구글링을 해보니 해답을 찾을 수 있었다.

이렇게 넣은 경우에는 상대경로를 src부터 써주면 잘 나오는 것을 확인할 수 있었다.
ImageIcon mario = new ImageIcon("src/images/super-mario.png");