从存储库工作时如何在Swing GUI中放置图像

时间:2014-04-29 16:26:04

标签: image swing user-interface repository imageicon

我正在尝试在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);

1 个答案:

答案 0 :(得分:0)

如果您希望能够在不同的计算机上加载它,则需要将图像文件作为嵌入式资源保存到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);