首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ClientBundle不加载ImageResource

ClientBundle不加载ImageResource
EN

Stack Overflow用户
提问于 2011-07-19 02:14:32
回答 2查看 659关注 0票数 1

我尝试使用ClientBundle实现来管理我的图像到一个大文件,并最小化超文本传输协议请求。

我把我的gwt.xml

生成ClientBundle

公共接口ResourceBundle扩展了ClientBundle {

代码语言:javascript
复制
public static final ResourceBundle INSTANCE = GWT.create(ResourceBundle.class);

@Source("tiles/smiley.png")
ImageResource smiley();

}

图像将被找到,没有错误。

以下是代码

@Override public void onModuleLoad() {

代码语言:javascript
复制
    CLogger.log("Start Engine");

    int width = 800;
    int height = 600;

    Canvas canvas = Canvas.createIfSupported();
    canvas.setWidth(width + "px");
    canvas.setHeight(height + "px");
    canvas.setCoordinateSpaceWidth(width);
    canvas.setCoordinateSpaceHeight(height);
    Context2d c = canvas.getContext2d();

    Image img = new Image(ResourceBundle.INSTANCE.smiley());
    img.addLoadHandler(new LoadHandler() {

        @Override
        public void onLoad(LoadEvent event) {
            CLogger.log(event.getSource() + " loaded");
        }
    });
    CLogger.log("Visible: " + img.isVisible());

    c.drawImage((ImageElement) new Image(ResourceBundle.INSTANCE.smiley()).getElement().cast(), 0, 0);

    RootPanel.get().add(canvas);

}

我创建了一个简单的画布,并将大小设置为800x600。我创建了一个新的Context2D对象来在上下文中绘制图像,并将画布添加到RootPanel中。

日志显示:

20:10:21.676 -启动引擎20:10:21.851 -可见: true 20:10:21.853 - http://127.0.0.1:8888/engine/7D39451825E9952050F44A6B8E2E15F3.cache.png

图像存在于记录的URL下,所以一切看起来都很好。但是图像将不会被绘制,或者它将绘制但不显示。

有谁有主意吗?

我认为ClientBundle加载图像作为后端的开始。因此,如果我得到一个实例,每个Image/Css和其他填充内容都会被加载吗?

雷格斯·马库斯

EN

回答 2

Stack Overflow用户

发布于 2011-07-19 05:11:50

图像内容不能保证同步加载。根据浏览器的功能和图像数据的大小,资源可能会存储为独立的文件,这似乎就是您所描述的情况(即cache.png)。这样的公式会有什么不同吗?

代码语言:javascript
复制
final Image img = new Image(ResourceBundle.INSTANCE.smiley());
img.addLoadHandler(new LoadHandler() {
  public void onLoad(LoadEvent e) {
    c.drawImage((ImageElement) img.getElement());
  }
}
RootPanel.get().add(img);
票数 0
EN

Stack Overflow用户

发布于 2011-07-19 05:27:12

如果你在UiBinder之外使用CSSResources和ImageBundles,你必须确保stlyesheet和图片被正确注入。

有关详细信息,请参阅here

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

https://stackoverflow.com/questions/6737380

复制
相关文章

相似问题

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