2012-03-27 4 views
0

CssResource를 사용하는 동안 이상한 NPE가 나타납니다. 내 CSS 파일에 두 개의 CSS 클래스 다음의 정의 : 다음GWT CssResource throw NPE

.mainPanelStyle 
{ 
    height: 250px; 
    width: 250px; 
    background-color: gray; 
    cursor: pointer; 
} 

.titleLabelStyle 
{ 
    font-size: 14px; 
    font-family: Segoe UI Semibold; 
    color: white; 
} 

를, I는 인터페이스 정의 :

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가 throw됩니다. "필요한 종속성을 추가하는 것을 잊었습니까?"

나는 무엇이 잘못되었는지 알지 못합니다. 이 문제를 해결할 수 있도록 도와 주시겠습니까? 당신의 오류가 어디에서 오는지

+0

는 "Segoe UI 볼드체"주위에 따옴표를 넣지해야 하는가? NPE (스택 추적없이)를 설명 할 수는 없지만 이것이 원인 일 수 있습니다. –

+0

'cssResource.titleLabelStyle()'대신에'getHomePanelStyle.titleLabelStyle()'을 의미합니까? Resource 인스턴스를 인스턴스화하지 않았을 수 있습니다. – checketts

답변

3

는 나도 몰라,하지만이 내가 정의하고 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를 Resouce의 (메인 클래스와 같은 packagage를 INT) : 이것은 내 라벨 적당한 크기와 우측 배경 색상을 제공

.test { 
    background-color: blue; 
    height: 50px; 
    width: 100px; 
} 

.

링크 : CssResource

+0

스테판, 너 락! sureInjected()를 주셔서 감사합니다 !! 그것은 나를 미치게했다. – Chania

+0

:) 감사합니다, 너무 오래 걸렸습니다 ^^ – Stefan