調べてみるとUiBinderとは、xmlファイルにUIの情報などが書かれている。
つまり、Javaソースにコンポーネントの位置情報などを書かなくてすむ
ということなんでしょう。
Delphiで言えばdfm的な役割をするものだと思う。
JavaDocを読んだだけでは使い方がよくわからなかったので、
使い方をメモっておく。
まず、新規作成方法
右クリックメニュよりNew→UiBinder
そこで自動生成されたui.xmlに下記のサンプルを貼り付けてみる。
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent"> <ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" xmlns:g="urn:import:com.google.gwt.user.client.ui"> <ui:style> .important { font-weight: bold; } </ui:style> <g:DialogBox autoHide="true" modal="true"> <g:caption><b>Caption text</b></g:caption> <g:HTMLPanel> Body text <g:Button ui:field='cancelButton'>Cancel</g:Button> <g:Button ui:field='okButton'>Okay</g:Button> </g:HTMLPanel> </g:DialogBox>
ソースは下記のような感じ。
ポイントは、uiBinder.createAndBindUi(this)という部分で
上記のxmlファイルからフォームオブジェクトを生成する部分。
import com.google.gwt.core.client.GWT; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.DialogBox; public class MyBinderDialog extends Composite { private DialogBox dlg; private static MyBinderDialogUiBinder uiBinder = GWT .create(MyBinderDialogUiBinder.class); interface MyBinderDialogUiBinder extends UiBinder<DialogBox, MyBinderDialog> { } public MyBinderDialog() { dlg=(uiBinder.createAndBindUi(this)); } public DialogBox getDialogBox(){ return dlg; } }呼び出し側はこんな感じ。
MyBinderDialog db = new MyBinderDialog(); DialogBox dbox=db.getDialogBox(); dbox.show();
0 件のコメント:
コメントを投稿