netbeans中的Java,从Java包中读取映像文件
我想知道是否有人能帮忙?我一直在开发一个java应用程序,它在jframe上显示来自磁盘的图像。 使用netbeans,我在项目中创建了一个名为images的java包,并将图像存储在该包中。首先,如果我想让他们随应用一起发布,我应该这样做吗 我有以下功能来读取图像:netbeans中的Java,从Java包中读取映像文件,java,netbeans,relative-path,javax.imageio,Java,Netbeans,Relative Path,Javax.imageio,我想知道是否有人能帮忙?我一直在开发一个java应用程序,它在jframe上显示来自磁盘的图像。 使用netbeans,我在项目中创建了一个名为images的java包,并将图像存储在该包中。首先,如果我想让他们随应用一起发布,我应该这样做吗 我有以下功能来读取图像: Image readImg(String file) { Image image = null; try { File imgFile = new File(file
Image readImg(String file)
{
Image image = null;
try {
File imgFile = new File(file);
image = ImageIO.read(imgFile);
} catch (IOException e) {
// System.out.println("Can not Display Image");
e.printStackTrace();
}
if (image != null){
return image;
} else{
return null;
}
}
我的问题是,我无法计算出传递给函数的相对文件路径。我得到了要显示的图像,这样称呼它:
Image headerImg = readImg("C:\\Users\\D@nb0y\\Documents\\NetBeansProjects\\GiftAidApp\\src\\images\\galogo.png");
显然,如果应用程序在任何其他设备上运行,这将完全崩溃。有谁能给我一个让这个代码可移植的建议吗
非常感谢因为它是您试图添加图像的
JFrame
,所以最好使用图像图标
而不是图像
试试这个:
ImageIcon image = new ImageIcon("images/galogo.png");
JLabel imageLabel = new JLabel(image);
frame.add(imageLabel);
如果你将你的
images
文件夹与你的项目一起包含在一起,这应该会使应用程序可移植。使用getResources方法很抱歉,Thusitha我不了解哪个类的getResources方法,我注意到imageIO似乎没有这个名称的方法?