2012-01-18 10 views
1

は、私はシンプルなGXT窓があります。UiBinderからGXTウィンドウを記述する方法は?

public class MainWindow extends Window { 
    public MainWindow() { 
     Label test = new Label("Test"); 
     add(test); 
    } 
} 

をそして私はUiBinderサンプルメッセージから同じウィンドウを記述します。完全にこのコード作業:

<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder' 
    xmlns:gxt="urn:import:com.extjs.gxt.ui.client.widget"> 
    <gxt:Window> 
    </gxt:Window> 
</ui:UiBinder> 

しかし、私はGXTで<gxt:Label>Test</gxt:Label>を追加します。私は、エラーを持っているウィンドウ要素:

[ERROR] Found unexpected child element Element <gxt:Label> 

を私が間違って何? Window要素で期待されるものは?

答えて

1

Ext GWT 2.xはUiBinderをサポートしていません(GWTでカスタム要素パーサーを作成するための公開APIが存在しない理由:http://code.google.com/p/google-web-toolkit/issues/detail?id=4461)。

gxt:Windowsを追加することはできますが、gxt:Windowの下に子要素を追加することはできません。gxt:Windowスーパークラスの要素パーサーがないからです。 GWTのパネルはGWTのHasWidgetsを拡張し、そのための要素パーサー:HasWidgetsParserがあり、各子要素に対してadd()が呼び出されます。

これを回避することは可能です。Ext GWT 3 betaについては、「完全なUiBinderサポート」を主張しているので、これを試してみてください。

関連する問題