我自学成才,在尝试使用getClass()加载图像时.getResource(path)我想我已经突出了我如何构建项目的问题。我目前只使用cmd和TextPad。
我的文件夹结构如下:
Desktop / Java / uk / co / woodward / recruit
/build
/images
/src
我使用命令提示符从Java文件夹编译
javac -d "." uk/co/woodward/recruit/src/example.java
.java文件位于package uk.co.woodward.recruit.build;
这一切都运行良好,类最终在build文件夹中,但在阅读如何在java轨迹中使用图标时,我意识到" build"不是一个包,我对如何设置图像文件相对于当前类的位置有点困惑。我也不确定自己是否应该设置Java' (或招募)作为某种根变量/路径,而不仅仅是从那里编译。
无论如何,到目前为止我没有尝试过任何事情。
public CandidateFormToolBar(){
saveButton.setIcon(createIcon("/images/save.png", "Save"));
add(saveButton);
}
private ImageIcon createIcon(String path, String btnName){
URL url = getClass().getResource(path);
if(url == null)
System.err.println("\nThe " + btnName + " Icon Path Cannot Be Found: " + path + "\n");
return new ImageIcon(url);
}
在运行程序时,我尝试在构建文件夹中使用类并使用路径" save.png",我尝试了上面的代码(我想想会升级到招聘文件夹,然后到图像文件夹),没有运气。我尝试使用-cp将jvm指向images文件夹。还有更多。
结果是,我已经意识到我仍然不太了解这一点,并且我的结构可能不值得推荐。这有点令人沮丧!
如果有人能够模糊地指出我正确的方向,我们将不胜感激!
答案 0 :(得分:0)
将图像放在放置Java文件的文件夹中。就像tomcat服务器一样,这是我用来访问jsp文件中的图像的结构。
>>Web content
>imagesfolder
>Web-inf
Myfile.jsp
现在在这个用于访问图像文件夹图像的Myfile.jsp文件中,我使用了以下url“imagesfolder / myimage.png”。这里的Web内容是包含Myfile.jsp和2个子文件夹imagesfolder和web-inf的文件夹,imagesfolder包含myimages.png
如果你的文件在Java文件夹中,你也可以创建一个这样的目录,然后在其中创建一个图像文件夹,并使用上面提到的url模式访问它们。
希望这可以解决您的问题。