GWT CssResource抛出NPE

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; }

在使用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。上面写着“你忘了添加必需的依赖项了吗?”


我不知道怎么了。你能帮我解决这个问题吗?

我不知道你的错误来自哪里,但这可能会帮助你

我就是这样定义和访问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,你太棒了!感谢您的再次注射()!!这简直让我发疯。斯蒂芬,你真是棒极了!感谢您的再次注射()!!我快发疯了。