【问题标题】:Error in adding gif in jFrame在 jFrame 中添加 gif 时出错
【发布时间】:2015-05-22 09:49:04
【问题描述】:

所以我在 stackoverflow 遇到了一种将 gif 图像添加到 jFrame 的解决方案,现在看起来程序接受了我在 stackoverflow 找到的代码。但是,定义图像位置可能有问题,所以我得到了我当前正在使用的代码以及下面的错误,请帮助!

public static void main(String args[])throws MalformedURLException {

URL url = new URL("f:/SDPproject/CheapDealsMobiApp/build/classes/cheapdealsmobiapp/Gif-1");
Icon icon = new ImageIcon(url);
JLabel label = new JLabel(icon);
JFrame f = new JFrame("Animation");
f.getContentPane().add(label);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.pack();
f.setLocationRelativeTo(null);
f.setVisible(true);
}

请注意,错误是“线程“主”java.net.MalformedURLException:未知协议:f”中的异常,这可能是导致不安的位置定义吗?如果是这样,解决方案是什么?

【问题讨论】:

    标签: java jframe jlabel gif


    【解决方案1】:

    您实际上需要指定协议,将file://添加到文件路径的开头

    像这样

    URL url = new URL("file://f:/SDPproject/CheapDealsMobiApp/build/classes/cheapdealsmobiapp/Gif-1");
    

    Check File URI Scheme on Wikipedia

    【讨论】:

    • 为文件创建 URL 的替代方法(不易出错):URL url = new File("f:/SDPproject/CheapDealsMobiApp/build/classes/cheapdealsmobiapp/Gif-1").toURI().toURL();
    【解决方案2】:

    有人告诉我,你真正想要的是更像的东西

    Icon icon = new ImageIcon(ThisClassName.class.getResource("/cheapdealsmobiapp/Gif-1"));
    

    Icon icon = new ImageIcon(ThisClassName.class.getResource("cheapdealsmobiapp/Gif-1"));
    

    【讨论】:

      猜你喜欢
      • 2015-01-03
      • 2014-04-02
      • 2011-01-26
      • 1970-01-01
      • 2015-02-19
      • 2014-12-15
      • 2015-04-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多