Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在GWT UiBinder中添加返回小部件的内部类_Java_Gwt_Uibinder - Fatal编程技术网

Java 如何在GWT UiBinder中添加返回小部件的内部类

Java 如何在GWT UiBinder中添加返回小部件的内部类,java,gwt,uibinder,Java,Gwt,Uibinder,我正在使用GWT UiBinder创建自定义组件。主类(Table UiBinder)将使用pager创建自定义组件表,请参见下面的代码 Table.ui.xml: <ui:UiBinder xmlns:item="urn:import:"com.example.ui.widgets.item"> <g:HTMLPanel > <item:CustomGrid ui:field="table"></item:CustomG

我正在使用GWT UiBinder创建自定义组件。主类(Table UiBinder)将使用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>
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
    }
    }

我不知道我是否理解正确,但在上面的代码中,有些东西应该会改变。如果这不能回答您的问题,请更准确

<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>

谢谢ArcTanH,第一个是打字错误(UiBinder),我的问题是如何访问内部类。代码对我来说似乎是正确的,您想在哪里访问内部类?你的问题在哪里?错误代码?Stacktrace?都是啊,好吧,我终于明白你的问题了。您是否考虑过将内部类设置为静态的?否则,请使用@UiField CustomGrid(provided=true)table=new CustomGrid()并将其用于pager。您能分享您的结果吗?
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
    }
}