我正在尝试在Java Swing GUI中显示一个图像。我在一个团队存储库中工作,所以我在项目中创建了一个新的源文件夹来存储我的图像。我已经完成了以下代码,当我在笔记本电脑上运行它时,它就可以工作了。然而,我的团队不会在他们的机器上显示该图像,我猜这与图像路径有关(我的存储库位置是桌面上的一个文件夹)。我如何引用图像以便团队能够看到它。我们使用的是Tortoise SVN和Eclipse。感谢
JLabel logolbl = new JLabel("New label");
logolbl.setIcon(new ImageIcon("C:\Users\User\Desktop\Echo Repo\trunk\Imagery\echoLogo200.jpg"));
logolbl.setBounds(10, 118, 202, 191);
contentPane.add(logolbl);
JLabel lblAtcLogIn = new JLabel("ATC Log In");
lblAtcLogIn.setFont(new Font("Tahoma", Font.BOLD, 14));
lblAtcLogIn.setBounds(174, 26, 110, 30);
contentPane.add(lblAtcLogIn);
如果您想在不同的机器上加载它,您需要将图像文件作为嵌入资源保存到您的jar中。
ProjectRoot
src
images
echoLogo200.jpg
您的IDE应该将图像打包到jar中。然后,您需要从类路径中读取图像。
URL url = getClass().getResource("/images/echoLogo200.jpg");
Image image = ImageIO.read(url); // will throw exception is path is incorrect
ImageIcon icon = new ImageIcon(image);