CellWidget未显示

时间:2011-07-01 05:23:31

标签: gwt cellbrowser

我正在尝试在我的应用程序中创建一个基本的cellbrowser小部件。现在只是结构,以便我可以稍后用有意义的东西替换它。 我查看了示例并实现了一个但是当我尝试在我的应用程序中集成它时,它不会工作!

这是代码的一部分。问题是什么?为什么我看不到小工具?

public class ListViewImpl extends Composite implements ListView
{

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

interface ListViewImplUiBinder extends UiBinder<Widget, ListViewImpl>
{
}

private Presenter presenter;

@UiField(provided=true)
CellBrowser cellbrowser;

public ListViewImpl()
{ 
    TreeViewModel model = new ListTreeViewModel();
    cellbrowser=new CellBrowser(model,null);
    cellbrowser.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.ENABLED);
    cellbrowser.setAnimationEnabled(true);
    initWidget(uiBinder.createAndBindUi(this));
}

@Override
public void setPresenter(Presenter presenter)
{
    this.presenter=presenter;
}

 @Override
  public Widget asWidget() {
    return this;
 }

}

Uibinder文件名为 - &gt;

<ui:style>
      .browser {
    border: 1px solid #ccc;
}

.out
 {
        outline:#ccc solid thick;
 }
</ui:style>

    <g:HTMLPanel styleName='{style.out}' >    
                <c:CellBrowser addStyleNames='{style.browser}' defaultColumnWidth='300'  ui:field='cellbrowser'  />
    </g:HTMLPanel>

ListTreeView模型类非常完美,就像我在独立应用程序中使用代码并将CellBrowser添加到RootLayoutPanel时一样。它有效!

1 个答案:

答案 0 :(得分:2)

CellBrowser是一个RequiresResize小部件(它在内部使用SplitLayoutPanel),因此就像所有RequiresResize小部件一样,您必须将其放在ProvideResize小部件中,或者给它显式维度。