Java 如何在GWT UiBinder中添加返回小部件的内部类
我正在使用GWT UiBinder创建自定义组件。主类(Table UiBinder)将使用pager创建自定义组件表,请参见下面的代码 Table.ui.xml: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
<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
}
}