2010-11-29 31 views
0

難読化されたクラス名(GPGOA3-B)が実際にセルに追加されますが、クラス自体はスタイルシートに追加されません。セルに追加されたときに難読化されたクラス名がスタイルシートに追加されない

私は間違っていますか?

public final class HyperlinkCell extends AbstractCell<HyperlinkCellData> { 

    // TODO 
    private interface MyCss extends CssResource { 
     String red(); 
    } 

    // TODO 
    private interface MyResources extends ClientBundle { 
     @Source("HyperlinkCell.css") 
     MyCss css(); 
    } 

    // TODO 
    private static MyResources resources = GWT.create(MyResources.class); 

    HyperlinkCell() { 
     super("click"); 
    } 

    @Override 
    public void onBrowserEvent(Element parent, HyperlinkCellData value, 
      Object key, NativeEvent event, 
      ValueUpdater<HyperlinkCellData> valueUpdater) { 
     // handle click event 
     History.newItem(value.targetHistoryToken, true); 
    } 

    @Override 
    public void render(HyperlinkCellData value, Object key, SafeHtmlBuilder sb) { 
     String childGroupObfuscatedClass = resources.css().red(); 
     sb.append(SafeHtmlUtils.fromTrustedString("<a class=\"")) 
       .append(SafeHtmlUtils 
         .fromTrustedString(childGroupObfuscatedClass)) 
       .append(SafeHtmlUtils.fromTrustedString("\"")) 
       .append(SafeHtmlUtils.fromTrustedString(" href=\"#")) 
       .append(SafeHtmlUtils.fromString(value.targetHistoryToken)) 
       .append(SafeHtmlUtils.fromTrustedString("\">")) 
       .append(SafeHtmlUtils.fromString(value.text)) 
       .append(SafeHtmlUtils.fromTrustedString("</a>")); 
    } 
} 

HyperlinkCell.css

.red { 
    color: red; 
} 

得られたDOM要素

<a href="#target" class="GPGOA3-B">text</a> 

答えて

1
MyResources.resources.css().ensureInjected(); 

コール com.google.gwt.dom.client.StyleInjector.injectStylesheet(文字列) の内容を注入するCssResourceをDOMに追加します。繰り返し のインスタンスでこのメソッドを呼び出すと、CssResourcesは効果を持ちません。

関連する問題