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

时间:2014-07-19 00:51:04

标签: java swing

我尝试将jpg图像文件添加到我的Java Swing页面中, 但是在运行时,系统总是返回错误“Source not found”并且卡在那里。 源代码如下

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”。我把这两个文件放在同一个文件夹中,为什么系统找不到图像文件?我应该改变什么?

提前致谢。 贝

2 个答案:

答案 0 :(得分:0)

尝试使用此方法创建ImageIcon。公开或私人,这取决于您的设计。

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中,则path必须为c:\images\logo.png

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

PS;注意\逃避。我猜你知道。

答案 1 :(得分:-1)

试试这个解决方案:

URL url = getClass().getResource("logo.jpg");

如果不起作用,请尝试按如下方式放置图像的绝对路径:

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