您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何使用uibinder创建带有孩子的gwt复合组件?

如何使用uibinder创建带有孩子的gwt复合组件?

让我们MyComponent实现HasWidgets用于添加/删除子窗口小部件的接口。

MyComponent.ui.xml外观一样简单

<g:FlowPanel ui:field="main" />

在将ind指定的方法委托HasWidgets给时FlowPanel

public class MyComponent extends Composite implements HasWidgets {

    private static MyComponentUiBinder uiBinder = GWT.create(MyComponentUiBinder.class);

    interface MyComponentUiBinder extends UiBinder<Widget, MyComponent> {}

    @UiField
    FlowPanel main;

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

    @Override
    public void add(Widget w) {
        main.add(w);
    }

    @Override
    public void clear() {
        main.clear();
    }

    @Override
    public Iterator<Widget> iterator() {
        return main.iterator();
    }

    @Override
    public boolean remove(Widget w) {
        return main.remove(w);
    }
}

呼唤

<M:MyComponent>
    <g:Label text="some text" />
</M:MyComponent>

将以这种方式工作。

其他 2022/1/1 18:30:05 有312人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶