GWT CssResource抛出NPE
在使用CssResource时,我感到奇怪的NPE。 我在css文件中定义了以下两个css类:GWT CssResource抛出NPE,gwt,Gwt,在使用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; }
.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。上面写着“你忘了添加必需的依赖项了吗?”
我不知道怎么了。你能帮我解决这个问题吗?我不知道你的错误来自哪里,但这可能会帮助你 我就是这样定义和访问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资源(与主类位于同一个包中):
这给了我的标签正确的大小和正确的背景颜色
链接:
我不知道你的错误是从哪里来的,但这可能会帮助你 我就是这样定义和访问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资源(与主类位于同一个包中):
这给了我的标签正确的大小和正确的背景颜色
链接:
您不应该在“Segoe UI Semibold”旁边加引号吗?我无法解释NPE(不是没有堆栈跟踪),但这可能是原因。你不是说
cssResource.titleLabelStyle()
而是说getHomePanelStyle.titleLabelStyle()
?也许你没有实例化你的资源实例。你不应该在“Segoe UI Semibold”旁边加引号吗?我无法解释NPE(不是没有堆栈跟踪),但这可能是原因。你不是说cssResource.titleLabelStyle()
而是说getHomePanelStyle.titleLabelStyle()
?也许你没有实例化你的资源实例。Stefan,你太棒了!感谢您的再次注射()!!这简直让我发疯。斯蒂芬,你真是棒极了!感谢您的再次注射()!!我快发疯了。