GWT在Java中设置样式使我的页面无法加载

时间:2014-05-30 20:05:59

标签: java css gwt

所以我在GWT网页上添加购物车,我想在此购物车中添加购物车图片。我按如下方式设置了我的图像。

常规图标界面

import com.google.gwt.core.client.GWT;
import com.google.gwt.resources.client.ClientBundle;
import com.google.gwt.resources.client.ImageResource;

public interface GeneralIcons extends ClientBundle { 

    public static final GeneralIcons INSTANCE = GWT.create(GeneralIcons.class);

    @Source("cart_red.png")
    ImageResource cartRed();
}

使用图片的课程

...
Image shoppingCartImage = new Image(GeneralIcons.INSTANCE.cartRed()); 
...

如果我在这里停下来而不是一切正常,我的图像会显示出来。但我想设置我的图像样式,例如我想在图像的边缘放一些填充物,所以我试试

...
Image shoppingCartImage = new Image(GeneralIcons.INSTANCE.cartRed());
shoppingCartImage.getElement().addClassName(style.padding());
...

当我这样做并重新编译时,我的页面上根本没有显示任何内容,只是一个直白色的背景。任何想法我做错了什么?

修改

所以在我的控制台中我找到了

Uncaught TypeError: Cannot read property 'padding' of null

我确信我已经正确设置了我的风格(使用UiBinder),因为我之前已经这样做了,并且它在其他类中正常工作。

2 个答案:

答案 0 :(得分:0)

尝试将您的样式添加到Image,而不是其元素:

shoppingCartImage.addStyleName(style.padding());

答案 1 :(得分:0)

啊,所以记得当我确定我正确设置我的风格时?是的,那是错的。我在班上有以下代码

interface MyStyle extends CssResource {
    String padding();
}

MyStyle style;

嗯,它需要

interface MyStyle extends CssResource {
    String padding();
}

@UiField
MyStyle style;

谢谢大家!