Java 无法加载我的图像
我正试图添加一张奶牛的照片,但日食让我失望了。它不允许任何图像,我想我可能是做错了我的路径,但我直接从eclipse右键单击图像时提供的属性中得到它。所以,如果有人知道为什么我的图片无法加载,请告诉我。没有错误消息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;
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上查阅的每一篇教程都没有帮助”这就是你依靠视频学习编码所得到的。