包结构(以及放置图像的位置)

时间:2017-01-18 23:41:23

标签: java

我自学成才,在尝试使用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文件夹。还有更多。

结果是,我已经意识到我仍然不太了解这一点,并且我的结构可能不值得推荐。这有点令人沮丧!

如果有人能够模糊地指出我正确的方向,我们将不胜感激!

1 个答案:

答案 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模式访问它们。

希望这可以解决您的问题。