我正在尝试让一些不同的 jpg 出现在我正在开发的 GUI 上。最初,我只是引用计算机上的文件,但现在我想将 jpg 放入我的项目文件夹中并从那里引用它们。我正在网上寻找如何做到这一点,我已经做到了这一点:
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 文件放在项目中的什么位置?现在我只是将文件直接拖到项目文件夹中。当我运行这个时,我得到一个 IllegalArgumentException。
最佳答案
你的文件在根文件夹中吗?
例如,如果文件位于 src
文件夹中,则路径应为 "/src/HIOLogo.jpg"
如果它位于src
(根文件夹)之外的文件夹中,那么您的路径是正确的
所以,
如果路径相对于类路径的根(由前导/指定)。
ImageIO.read(getClass().getResource("/path/to/resource"));
否则,如果路径相对于类路径的根(由前导/指定)。
ImageIO.read(new File("path/to/resource");
路径相对于类路径的根(由前导/指定)。
更多信息here
关于java - 在项目中用java显示图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27198956/