我在GWT中对CssResource没什么问题。我想改变AbsolutePanel和标签的样式,但它确实运行。当我使用setStyleName方法添加样式类时,什么也没发生。
在这段代码中我使用了一个资源:
public CustommerView() {
MyResource cssResource = GWT.create(MyResource.class);
MyCss myCss = cssResource.css();
AbsolutePanel basePanel = new AbsolutePanel();
initWidget(basePanel);
basePanel.setStyleName(myCss.rootPanel());
Label label = new Label();
label.setText("Im label");
label.setStyleName(myCss.label());
basePanel.add(label);
}
这是我扩展CssResource的接口:
public interface MyCss extends CssResource {
/**
* Method for return command button class name
* @return command button class name
*/
public String rootPanel();
public String label();
}
这是我的css文件,它位于文件系统的MyCss接口旁边:
.rootPanel {
position:absolute !important;
top:0px;
left:0px;
background-color:yellow !important;
height: 20px !important;
width: 18px !important;
}
.label {
color:red;
}
自定义视图是GWT Composite。当我想在视图上移动时,我只需在演示者中调用RootPanel.get(“mainArea”)。add(view.asWidget)。 mainArea是div元素。
当我在web inf中的css文件中粘贴css类时,一切运行正常。有人能否指出如何解决这个问题?感谢。
答案 0 :(得分:1)
缺少ensureInjected()
来电。