如何在NetBeans中添加src中的照片?

时间:2015-11-13 21:14:21

标签: java netbeans

我将这样的图像文件放在NetBeans中 enter image description here

我试图在FinalRecreation中添加像这样的图像

new JLabel.setIcon(new ImageIcon("..\\FinalRecreation\\VOSB_01.jpg"));

然而,我知道为什么它不会起作用,图像永远不会出现。

1 个答案:

答案 0 :(得分:0)

您需要将数据作为资源加载。当您作为资源加载时,您使用类加载器在类路径中搜索文件,因此它可以包含在jar中并随应用程序一起分发。

假设您的图像文件名在名为resources的顶级包中,以下代码可用于加载BufferedImages,需要花费一点点精力才能适应读取ImageIcon,但需要一些代码来打开InputStream到资源应该是一样的。

编辑:看起来ImageIcon有一个带Image的构造函数,所以你应该能够将BufferedImage传递给constructor

String name = "resources/your_image.jpg";
try(BufferedInputStream input = new BufferedInputStream(
    YourClass.class.getClassLoader().getResourceAsStream(name));) {
    if(input != null) {
        ImageIcon iicon = new ImageIcon(ImageIO.read(input));
        // do something with iicon
    }
    else {
        // could not find resource - do something 
    }
} catch (Exception ex) {
    // problem loading resource - do something
}