Java applet资源加载问题

时间:2011-04-28 00:21:01

标签: java applet

我刚刚将Java Web Start应用程序转换为applet。加载时间比以前多,所以我在控制台中启用了最高级别的日志记录。

该程序使用存储在.jar文件中的大量资源。但是,它尝试从Web服务器上的代码库下载其中一些!响应显然是404,但由于文件太多,它仍然浪费了很多时间。一旦最终加载完毕,所有资源都可以正常工作!为什么要这样做,我该如何让它停止?

资源加载代码:

public static BufferedImage loadImage(String name, String path) throws IOException
{
    URL url = AssetManager.class.getResource(path.replace("resource://", "resources/"));
    if(url == null)
        throw new IOException("Resource not found: "+path);

    BufferedImage image = ImageIO.read(url);
    images.put(name, image);
    return image;
}

1 个答案:

答案 0 :(得分:1)

我也观察到了这一点,我不确定如何避免从HTTP而不是jar中插入加载类。您可以尝试使用jar索引(因此VM将知道哪个类/资源在哪个jar中)。可能有一些applet标签或JNLP文件选项也可以避免这种情况。