2011-01-29 15 views
4

私は現在、GWTのUIBinder機能を使用しようとしていますが、成功しません。私はドキュメントを何度か読んだことがありますが、完全なストーリーは含まれていません。多分あなたは私を助けることができます。GWT:HTMLテンプレートを使用したUIBinderの使用方法...

これは私が今まで知っているものです:

1) 。 のウィジェットレイアウトを持つHelloWorld.ui.xmlファイル2)対応するHelloWorldクラスを作成する必要があります。私はそれを見つけるためにGWTを可能にするために、HelloWorld.ui.xmlファイルを置けばいい

A):ここで

は、私はに関する情報を見つけることができない何ですか?

B)HelloWorldコンポーネントをどのように追加するのですか?パネル?

ドキュメントは非常に不足しており、GWTについてあまりにも多くのことを知っている人、初心者が知りません。

+0

また、[Google Plugin for Eclipse](http://code.google.com/eclipse/)をインストールすると、その作業のほとんどが処理されます(コンポーネント名を入力するだけで対応するjavaとui.xmlファイル).... [他のものの中で](http://code.google.com/eclipse/docs/gwt.html):) –

答えて

2

A)ファイルを、そのui.xmlファイルのロジックを含むウィジェットクラスと同じパッケージに入れる必要があります。クラス名はHelloWorldである必要があります(簡略化のため、同じ名前を使用する必要があるとしますが、コードによって異なる名前を使用することも可能です)。

B)HelloWorldクラスはウィジェットを拡張するクラス。任意の「通常の」ウィジェットと同様に、どのパネルにも追加することができます。ここで

は、あなたのHelloWorldウィジェットクラスでのHelloWorld.ui.xmlをバインドするためのコードです:

public class HelloWorld extends Composite /*or extend any widget you want*/ { 
    //This defines an interface that represents this specific HelloWorld.ui.xml file. 
    interface MyUiBinder extends UiBinder<Widget, HelloWorld> {} 

    // This code is for GWT so it can generate the code from your HelloWorld.ui.xml 
    private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class); 

    //Constructor 
    public HelloWidgetWorld() { 
     // This binds the HelloWorld.ui.xml with this widget 
     initWidget(uiBinder.createAndBindUi(this)); 
     ... 
    } 

    ... 
} 
2

この概要は、すべてを説明します:http://code.google.com/webtoolkit/doc/latest/DevGuideUiBinder.html

  1. あなたが同じフォルダにHelloWorld.ui.xmlを置きますHelloWorld.javaファイル。 (リンク上から見た)このよう
  2. 1)GWTコントロールとUIバインダーに:ここ

    public class HelloWorld extends UIObject { // Could extend Widget instead 
        interface HelloWorldUiBinder extends UiBinder<DivElement, HelloWorld> {} 
        private static HelloWorldUiBinder uiBinder = 
          GWT.create(HelloWorldUiBinder.class); 
    
        // div element created via UiBinder 
        private DivElement divElement; 
    
        public HelloWorld() { 
         // createAndBindUi 
         divElement = uiBinder.createAndBindUi(this); 
         // now you can add created DivElement to your panel 
        } 
    }; 
    
1

は、2つの完全なチュートリアルとHelloWorldのサンプルである http://blog.jeffdouglas.com/2010/01/19/gwt-uibinder-hello-world-tutorial/

2)プレーンHTMLのUIバインダー用: おっと! StackOverflowでは2つのハイパーリンクを投稿できません。だから私は別の答え、またはこれにコメントして、2番目のものを投稿します。

+0

ここには、プレーンなHTMLサンプルへのリンクがあります。http: //blog.iparissa.com/gwt-uibinder-helloworld-with-html/ – Esfand