首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >URLImage提取方法不起作用

URLImage提取方法不起作用
EN

Stack Overflow用户
提问于 2016-10-23 00:05:10
回答 1查看 58关注 0票数 1

我查看了文档:https://www.codenameone.com/javadoc/com/codename1/ui/URLImage.html#fetch

默认情况下,如果不调用fetch()方法,就会像GUI所要求的那样延迟获取图像,在这种情况下,将立即执行IO代码。

看起来,在调用fetch()之后,存储文件不会被刷新。这是我做的测试

1)我第一次用以下图像创建一个URLImage:"272x92dp.png

2)运行应用程序。图像显示得很好

3)我使用一个新的URL映像"http://awoiaf.westeros.org/images/thumb/9/93/AGameOfThrones.jpg/400px-AGameOfThrones.jpg“运行应用程序,但是我仍然看到前面的图像,尽管正在调用fetch()!

代码语言:javascript
运行
复制
    Form hi = new Form("Hi World");

    EncodedImage placeholder = EncodedImage.createFromImage(Image.createImage(hi.getWidth(), hi.getWidth() / 5, 0xffff0000), true);
    URLImage background = URLImage.createToStorage(placeholder, "400px-AGameOfThrones.jpg",
            "https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png");
    background.fetch();

    Label label = new Label();
    label.setIcon(background);
    hi.addComponent(label);
    hi.show();

第二轮:

代码语言:javascript
运行
复制
  Form hi = new Form("Hi World");

    EncodedImage placeholder = EncodedImage.createFromImage(Image.createImage(hi.getWidth(), hi.getWidth() / 5, 0xffff0000), true);
    URLImage background = URLImage.createToStorage(placeholder, "400px-AGameOfThrones.jpg",
            "http://awoiaf.westeros.org/images/thumb/9/93/AGameOfThrones.jpg/400px-AGameOfThrones.jpg");
    background.fetch();

    Label label = new Label();
    label.setIcon(background);
    hi.addComponent(label);
    hi.show();
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-23 01:39:15

文档可能应该被澄清,立即并不意味着同步,所以fetch方法只会将映像添加到下载队列中,但在图像物理存在之前不会阻塞。

如果您想要这样的行为,URL映像可能不是最好的解决方案。您既可以使用Util.downloadToStorage(),也可以在ConnectionRequestaddToQueueAndWait中使用Image下载方法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40198257

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档