我在使用CssResource的时候遇到了奇怪的NPE。我在css文件中定义了以下两个css类:
.mainPanelStyle
{
height: 250px;
width: 250px;
background-color: gray;
cursor: pointer;
}
.titleLabelStyle
{
font-size: 14px;
font-family: Segoe UI Semibold;
color: white;
}然后,我将接口定义为:
public interface HomePanelCssResource
extends CssResource
{
String mainPanelStyle();
String titleLabelStyle();
}并将条目添加到ClientBundle类中,如下所示:
@Source( "com/myapp/homePanel/css/homePanelDefault.css" )
HomePanelCssResource getHomePanelStyle();当我在类文件中使用这个CSS资源时,调用cssResource.mainPanelStyle()可以正常工作。但是调用cssResource.titleLabelStyle()会抛出NPE。它会显示“您是否忘记添加所需的依赖项?”
我不知道哪里出了问题。你能帮我解决这个问题吗?
发布于 2012-03-27 15:53:46
我不知道你的错误是从哪里来的,但这可能会帮助你......
下面是我定义和访问CssResource的方式:
我的主类:它定义了客户端包和,以及Cssresource名称。
interface MyClientBundler extends ClientBundle {
public static final MyClientBundler INSTANCE = GWT.create(MyClientBundler.class);
//my.css and the whole packege path are allowed
@Source("stefank/client/my.css")
public MyResources css();
}
interface MyResources extends CssResource {
String test();
}
public void onModuleLoad() {
Label l = new Label("Resource Test");
MyClientBundler.INSTANCE.css().ensureInjected(); //importaten, else the resource might not be loaded jet
l.addStyleName(MyClientBundler.INSTANCE.css().test());
RootPanel.get().add(l);
}我的css资源(插入与主类相同的包):
.test {
background-color: blue;
height: 50px;
width: 100px;
}这使我的标签具有合适的大小和合适的背景颜色。
链接:CssResource
https://stackoverflow.com/questions/9883938
复制相似问题