ui:字段和类到/ gwt

时间:2011-02-23 09:50:44

标签: java gwt uibinder

我正在使用UIBinder创建一个小部件。

ui.xml     

<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" xmlns:g="urn:import:com.google.gwt.user.client.ui">
<ui:style>
.back { background-color: Skyblue; }
</ui:style>

    <g:HTML>
    <div ui:field="somediv">
        <tr class="{style.back}">
        <td>The background is NOT Skyblue</td>
        </tr>   
    </div>
    </g:HTML>
</ui:UiBinder>

的java

public class Test extends Composite {

    interface TestUiBinder extends UiBinder<HTML, Test> {}
    private static TestUiBinder uiBinder = GWT.create(TestUiBinder.class);


    public Test() {
        initWidget(uiBinder.createAndBindUi(this));
    }

入口点:

public void onModuleLoad()
    {
        Test test = new Test();
        RootPanel.get().add(test);
}

文字没有天蓝色...... 但是,如果我在我的td中添加一个span元素并执行class =“{style.back}”,那就可以了。 为什么呢?

另外,如果我尝试在我的td / tr标签中添加一个ui:字段,我会崩溃:

    java.lang.reflect.InvocationTargetException at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at  
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at  
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at  
java.lang.reflect.Method.invoke(Unknown Source) at 
com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:396) at 
com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:183) at
 com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:5
10) at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:352) at
 java.lang.Thread.run(Unknown Source) Caused by: 
com.google.gwt.core.client.JavaScriptException: (TypeError): this.removeAttribute is not a function

1 个答案:

答案 0 :(得分:0)

正如@Chris Lercher在评论中所说,在tr周围添加一个表解决了这个问题。结束问题..