3
抽象親クラスにgwtのuibinderロジックを構築して、バインドするすべてのクラスでコードを繰り返す必要がないかどうか疑問に思っています。抽象親クラスのgwtのuibinder
public MyPanel extends BasePanel<MyPanel> {
//my code here
}
デフォルトコンストラクタ:
public abstract class BasePanel<Panel extends BasePanel> extends Composite {
interface Binder<BinderPanel extends BasePanel> extends UiBinder<Widget, BinderPanel> { }
private static final Binder binder = GWT.create(Binder<Panel>.class);
public BasePanel() {
initWidget(binder.createAndBindUi(this));
init();
}
}
は基本的に、これは任意の子クラスは、このような何かを行うことができるようになる:
例えば、私はこのような何かを行うことができるようにしたいのですがMyPanelをMyPanel.ui.xmlにバインドするすべてのコードを処理します。
基本的に私は怠け者になりたいと思っていますし、インターフェイスとバインダーを一度構築して共通の方法で済ませればいいだけです。思考?
ありがとうございます。
ui.xmlコードも重複しないようにするには、このルートを使用する必要があります。しかし、重複するレイアウトコードを完全に別のウィジェットに入れてください。この別個のウィジェットは 'HasWidgets'を実装しなければなりません。そしてあなたは様々なsubclass.ui.xmlファイルのすべてでそれを使うことができます。 –
私は両方の提案(ベースウィジェットの共通フィールドとui.xmlの縮小)を行っています。私はバインダー呼び出しも抽象化できるかどうか本当に不思議だった。 @strelockのように聞こえますが、修正できないと言っていますか? – jctierney