【问题标题】:getResource doesn't load the imagegetResource 不加载图像
【发布时间】:2012-12-29 09:32:46
【问题描述】:

图片“Pic.jpg”最初位于"C:\Users\qwerty\Documents\NetBeansProjects\SelfTestX\src\Java\image"

没有用。我阅读了getResource(),它实际上是从 .class 文件的存储位置读取的。

所以,我复制了同一张图片并粘贴到"C:\Users\qwerty\Documents\NetBeansProjects\SelfTestX\build\classes\Java\image"

它也没有用。

非常感谢任何帮助。

我在下面列出了基本代码。希望它足够短。

            public void setImage() throws IOException{
            URL img=getClass().getResource("image/Penguins3.jpg");
            BufferedImage bi=ImageIO.read(img);
            int w=bi.getWidth();
            int h=bi.getHeight();
            int count=0;
            for(int i=0;i<3;i++){
                for(int j=0;j<3;j++){
                    BufferedImage wi=bi.getSubimage(i*w/3,j*h/3, w/3, h/3);
                    Image sc=bi.getScaledInstance(puzpiece.getWidth()/3,


                   puzpiece.getHeight()/3, Image.SCALE_AREA_AVERAGING);
                    setupImage(count++,sc);
                }
            }
            }


            private void setupImage(int a,Image wi) {
            button[a]=new JButton(new ImageIcon(wi));
            }

【问题讨论】:

  • 没用是什么意思?
  • 图片加载失败。
  • 哦,那我尝试删除更多代码。
  • 基本上所有相关代码都是这一行:ImageIO.read(getClass().getResource("image/Pic.jpg"));你可以删除其他所有内容。

标签: java getresource


【解决方案1】:

如果您的项目没有单独的资源文件夹,请将 Pic.jpg 放在当前类的 java 文件 (.java) 所在的同一文件夹中(或源树结构中的适当子文件夹)。 IDE 应该在预期的地方复制它,在大多数情况下默认情况下。

复杂项目只为资源配置了文件夹,但我认为情况并非如此。

【讨论】:

  • 是的,我做到了,但仍然没有用。我认为这可能是因为下游发生的事情,比如回答的其他人提到的......(另一个答案被删除了?)
  • 我对代码进行了一些编辑,现在 getImage() 出现错误。此链接中的完整代码 -- pastebay.net/1174312
  • 我看到的一种可能的解释是,路径 image/Pic.jpg 可能不是完整的路径。您是否尝试过 Java/image/Pic.jpg 以及您的课程有哪些包声明(如果有)?
猜你喜欢
  • 2014-05-09
  • 2012-06-19
  • 2016-03-10
  • 1970-01-01
  • 2017-02-03
  • 2013-05-30
  • 2012-12-14
  • 2020-06-13
相关资源
最近更新 更多