在项目中用java显示图像
我正在努力使一些不同的JPG出现在我正在开发的GUI上。最初,我只是引用计算机上的文件,但现在我想将JPG放入我的项目文件夹中,并从那里引用它们。我在网上寻找如何做到这一点,我已经做到了:在项目中用java显示图像,java,image,file,user-interface,Java,Image,File,User Interface,我正在努力使一些不同的JPG出现在我正在开发的GUI上。最初,我只是引用计算机上的文件,但现在我想将JPG放入我的项目文件夹中,并从那里引用它们。我在网上寻找如何做到这一点,我已经做到了: BufferedImage myPicture = null; try { myPicture = ImageIO.read(getClass().getResource("/HIOLogo.jpg")); } catch (IOException e1) {
BufferedImage myPicture = null;
try {
myPicture = ImageIO.read(getClass().getResource("/HIOLogo.jpg"));
} catch (IOException e1) {
e1.printStackTrace();
}
JLabel headerImage = new JLabel(new ImageIcon(myPicture));
headerImage.setBounds(0, 0, 200, 200);
this.add(headerImage);
}
但是,我不确定应该将HIOLogo.jpg文件放在我的项目中的什么位置?现在我只是直接将文件拖到项目文件夹中。当我运行这个时,我得到一个非法的argumentException 您的文件是否在根文件夹中 例如,如果文件位于
src
文件夹中,则路径应为“/src/HIOLogo.jpg”
如果它位于src
(根文件夹)之外的文件夹中,则您的路径是正确的
所以
如果路径相对于类路径的根(由前导/)指定)
如果路径是相对于类路径的根(由前导/)的,则为else
路径相对于类路径的根(由前导/)指定)
更多信息最初,我的文件在根文件夹中,我使用的是getClass().getResource(“/HIOLogo.jpg”),而这正是我获得非法参数异常的时候。根据你说的我相信我走的是正确的道路?所以我想知道我是否错过了其他东西。我还尝试了新文件(“/HIOLogo.jpg”),这给了我一个IIoexception
ImageIO.read(getClass().getResource("/path/to/resource"));
ImageIO.read(new File("path/to/resource");