如何将图像文件添加到Java Swing框架中?

如何将图像文件添加到Java Swing框架中?,java,swing,Java,Swing,我试图在Java Swing页面中添加一个jpg图像文件, 但在运行时,系统总是返回错误“找不到源”,并在那里死机。 源代码如下 this.setLayout( new BorderLayout( ) ); URL url = getClass().getResource("logo"); ImageIcon imageicon = new ImageIcon( url ); JLabel label = new JLabel( imageicon ); this.add( label, Bor

我试图在Java Swing页面中添加一个jpg图像文件, 但在运行时,系统总是返回错误“找不到源”,并在那里死机。 源代码如下

this.setLayout( new BorderLayout( ) );
URL url = getClass().getResource("logo");
ImageIcon imageicon = new ImageIcon( url );
JLabel label = new JLabel( imageicon );
this.add( label, BorderLayout.NORTH );
文件名为:“unStudent.java”,图像文件为“logo”。我把这两个文件放在同一个文件夹里,为什么系统找不到图像文件?我应该换什么

提前谢谢。 托尼

试试这个解决方案:

URL url = getClass().getResource("logo.jpg");
如果不起作用,请尝试按如下方式放置图像的绝对路径:

URL url = new URL("C://folder/logo.jpg");

尝试此方法创建您的
图像图标
。公开还是私人,这取决于你的设计

private ImageIcon createIcon(String path)
{
    URL url = getClass().getResource(path);

    if(url == null)
    {
        System.err.println("Could not load the icon: " + path);
    }

    ImageIcon icon = new ImageIcon(url);

    return icon;
}
现在确保
path
是文件的正确路径,并且具有文件扩展名。 我很确定你的错误,或者你的错误之一,就是文件扩展名丢失了。因此,如果您的
logo
文件是
png
图像类型,并且存储在
c:\images
中,则
路径必须是
c:\images\logo.png

我建议您将图像放在项目文件夹中


聚苯乙烯;注意
\
转义。我想你知道。

logo存储在哪里?还有,这是正确的名称吗?您使用的是什么IDE?我已将图像文件的路径更改为如下所示的整个路径:this.setLayout(newborderlayout());URL URL=getClass().getResource(“C:\\Documents and Settings\\evergreen\\workspace\\login\\src\\login\\logo”);ImageIcon ImageIcon=新的ImageIcon(url);JLabel标签=新的JLabel(图像图标);添加(标签,BorderLayout.NORTH);但是错误是相同的,我使用Eclipse WO的东西,我可能会考虑使用<代码> GETCLOCK().GETREST(“/LogNe/Logo”)< /COD>,并且您可能需要将<代码> LOGO < /C>文件从<代码> SRC目录移动到“资源”。Eclipse不喜欢资源被存储在
src
目录中的项目目录中的目录…通常…通常,这个映像文件应该放在哪里,在/src下,在*.java文件中?这并不是在OP已经在做的事情上添加任何内容。您不应该使用带有绝对路径的getResource,这就是使用getResource的要点。谢谢您,先生。我切换到更高版本的Eclipse并将徽标文件放在/bin文件夹下,然后我可以看到图像。我相信旧的Eclipse在处理图像方面有缺陷