코드에서 모든 파일 이름을 추가하지 않고도 Java 프로그램에 많은 이미지를 추가하는 방법을 알아 내려고하고 있습니다.폴더의 모든 이미지를 IconImages로 만들기
올바른 폴더에있는 모든 .png
이미지를 가지고 IconImage
이미지로 만들고 ArrayList
에 배치하고 싶습니다.
내가 지금 가지고있는 것은 이것입니다.
private void fillList()
{
File[] files = new File("C:/Users/marre/Google Drive/Java/lek/imageplay/src/img").listFiles();
for (File f : files)
{
if (f.isFile())
{
ImageIcon tempIcon = new ImageIcon(getClass().getResource("/img/"+f.getName()));
List.add(tempIcon);
}
}
}
이것은 모든 이미지의 이름을 가져 오는 것과 관련하여 원하는 방식으로 작동합니다. 그러나 파일은 절대 파일 경로에서만 읽습니다.
대신 동일한 결과를 얻으려면 무엇을 사용할 수 있지만 .jar 파일 내에서 작동합니다 (따라서 src/img/
에서 읽음). 전체 c:/ bla bla
..이 아닌가요?
쉬운 방법은 없습니다. http://stackoverflow.com/questions/1456930/how-do-i-read-all-classes-from-a-java-package-in-the-classpath를 참조하십시오. –
내가 본 가장 좋은 절충점은 이미지의 모든 파일 이름을 가진 파일을 생성하고 클래스 # getResource를 사용하여 해당 파일을로드 한 다음 이미지를로드하는 것입니다. 사용자 정의 빌드 요소를 생성하여 프로젝트를 컴파일하고 빌드 할 때 파일을 빌드 할 수 있습니다. – MadProgrammer