Java 无法加载我的图像

Java 无法加载我的图像,java,eclipse,swing,Java,Eclipse,Swing,我正试图添加一张奶牛的照片,但日食让我失望了。它不允许任何图像,我想我可能是做错了我的路径,但我直接从eclipse右键单击图像时提供的属性中得到它。所以,如果有人知道为什么我的图片无法加载,请告诉我。没有错误消息 package odin; import java.awt.event.*; import javax.swing.*; public class Main extends JFrame implements ActionListener{ JPanel mypanel;

我正试图添加一张奶牛的照片,但日食让我失望了。它不允许任何图像,我想我可能是做错了我的路径,但我直接从eclipse右键单击图像时提供的属性中得到它。所以,如果有人知道为什么我的图片无法加载,请告诉我。没有错误消息

package odin;

import java.awt.event.*;
import javax.swing.*;

public class Main extends JFrame implements ActionListener{
    JPanel mypanel;
    JButton mybutton;
    JLabel mylabel;
    int Counter = 0;

    public Main(){
        mypanel = new JPanel();

        mybutton = new JButton("OK");
        mybutton.addActionListener(this);

        mylabel = new JLabel();
        JLabel imgLabel = new JLabel(new ImageIcon("/GuiTest/src/odin/COW.png"));

        mypanel.add(mybutton);
        mypanel.add(mylabel);
        mypanel.add(imgLabel);
        this.add(mypanel);
    }

    public static void main(String[] args){

        Main first = new Main();
        first.setTitle("First Attempt");
        first.setSize(800,600);
        first.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        first.setVisible(true);
        first.setResizable(false);
        first.setLocationRelativeTo(null);

    }

    @Override
    public void actionPerformed(ActionEvent e) {
        if(e.getSource()==mybutton)
        {
            Counter = Counter + 1;
            mylabel.setText("My Clicks " + Counter);
        }
    }
}

问题是图像的路径

JLabel imgLabel = new JLabel(new ImageIcon("/GuiTest/src/odin/COW.png"));
基本上,
ImageIcon(String)
期望
String
表示一个文件。这意味着,Java正在从当前驱动器的根开始查找映像…这可能不是您真正想要的

您也不应该将资源存储在Eclipse中的
src
目录中,据我所知,Eclipse要求您将这些资源放在项目中的“resources”目录中。这些将包括在项目中,当你建立它

一旦您将图像移动到此位置,您应该能够使用以下内容作为嵌入式资源访问它

JLabel imgLabel = new JLabel(new ImageIcon(getClass().getResource("/odin/COW.png")));

正如我们在上一个问题中所问的那样,
/GuiTest/src/odin/COW.png
实际存储在哪里?这似乎也失败了。我把它改成了Project>src>IMAGE。我现在有了jlabelimglabel=newjlabel(newimageicon(“/GuiTest/src/COW.png”);图像加载仍然没有成功。谢谢,我的牛现在加载了。谢谢你,我在youtube上查到的每一篇教程都没用。我还尝试了一些其他问题,但当我把它们放在我的路径上时,总是不正确的。很高兴你来帮助我。还有一个问题,如果我将图像放入Project>RSRC FOLDER>cow,我将如何获取图像。假设
cow
是目录,我相信它会像
/cow/cow.png
/resources/cow/cow.png
。“我在youtube上查阅的每一篇教程都没有帮助”这就是你依靠视频学习编码所得到的。