Java 如何在NetBeans中添加来自src的照片?
我把这样的映像文件放在NetBeans中 我试着在最终录制中添加这样的图像Java 如何在NetBeans中添加来自src的照片?,java,netbeans,Java,Netbeans,我把这样的映像文件放在NetBeans中 我试着在最终录制中添加这样的图像 new JLabel.setIcon(new ImageIcon("..\\FinalRecreation\\VOSB_01.jpg")); 但是,我知道为什么它不起作用,图像永远不会出来。您需要将数据作为资源加载。当您作为资源加载时,您让类加载器在类路径中搜索文件,这样它就可以包含在jar中并随应用程序一起分发 假设您的图像文件名位于名为resources的顶级包中,下面的代码将用于加载BuffereImage,适
new JLabel.setIcon(new ImageIcon("..\\FinalRecreation\\VOSB_01.jpg"));
但是,我知道为什么它不起作用,图像永远不会出来。您需要将数据作为资源加载。当您作为资源加载时,您让类加载器在类路径中搜索文件,这样它就可以包含在jar中并随应用程序一起分发 假设您的图像文件名位于名为resources的顶级包中,下面的代码将用于加载BuffereImage,适应读取ImageIcon需要一些努力,但是打开资源的InputStream的代码应该是相同的 编辑:看起来ImageIcon有一个获取图像的构造函数,所以您应该能够将BuffereImage传递到该构造函数中
使用类似ImageIO.read(getClass().getResource(“/FinalRecreation/VOSB_01.jpg”))的方法加载图像,您需要将结果包装在一个ImageIcon中,但这应该可以让您启动您应该按实际父目录名删除
。
;这可能会解决您的问题。但是如果我使用实际的目录,当我将它们转换为.jar并提供给其他人时,整个过程不会停止吗?
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
}