java—如何在gwt uibinder中添加返回小部件的内部类

qlckcl4x  于 2021-07-13  发布在  Java
关注(0)|答案(1)|浏览(263)

我正在使用gwtuibinder创建自定义组件。main类(tableuibinder)将使用pager创建自定义组件表,请参见下面的代码
table.ui.xml:

<ui:UiBinder xmlns:item="urn:import:"com.example.ui.widgets.item">
    <g:HTMLPanel >
            <item:CustomGrid ui:field="table"></item:CustomGrid>
            <item:Pager ui:field="pager" </item:Pager>
        </g:HTMLPanel>
    </ui:UiBinder>

表.java:

package com.example.ui.widgets.item;
    public class Table extends Composite{
        private static TableUiBinder uiBinder = GWT.create(TableUiBinder.class);

        interface TableUiBinder extends
                UiBinder<Widget, Table> {
        }

        @UiField CustomGrid grid;
        @UiField Pager pager;

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

    class CustomGrid extends CellTable{
    //create custom celltable 
    }

    class Pager{
    //Pagination code
    }
    }

如何在uibinder中访问(添加)内部类customgrid&pager?语法是什么?

rt4zxlrg

rt4zxlrg1#

我不知道你说的对不对,但是在你上面的代码中有些东西应该改变。如果这不能回答你的问题,请更准确。

<ui:UiBinder xmlns:item="urn:import:"com.example.ui.widgets.item">
    <g:HTMLPanel >
            <item:CustomGrid ui:field="table"></item:CustomGrid>
            <item:Pager ui:field="pager" </item:Pager>
        </g:HTMLPanel>
    </ui:UiBinder>

到目前为止,还不错。这是零钱:

package com.example.ui.widgets.item;
    public class Table extends Composite{
        private static TableUiBinder uiBinder = GWT.create(TableUiBinder.class);

        interface TableUiBinder extends
                UiBinder<HTMLPanel, Table> {
            /* wrapper is HTMLPanel, instance holder is Table */
        }

        @UiField (provided = true)
        CustomGrid table = new CustomGrid(); 
        @UiField (provided = true)
        Pager pager = new Pager();

        public Table() {
            initWidget(uiBinder.createAndBindUi(this));

            pager.doSomething();
            table.doSomthingElse();
        }

    class CustomGrid extends CellTable{
    //create custom celltable 
    }

    class Pager{
    //Pagination code
    }
}

相关问题