GWT SuggestBox问题

时间:2014-09-12 19:30:16

标签: java gwt suggestbox

我在向应用程序添加SuggestBox时遇到了一些问题。 UiBinder模板如下所示:

...
<g:FlowPanel>
   <g:SuggestBox ui:field='actorSuggestBox' styleName='{style.givemespace}' />
   <g:Button ui:field="addActorButton">Add Actor</g:Button>
</g:FlowPanel>

<g:FlexTable ui:field='actorsTable'></g:FlexTable>
....

我正在通过扩展 MultiWordSuggestOracle 来创建自己的suggestBox。我调试了我的代码并确保在初始化SuggestBox之前正确创建并初始化了自定义UiBinder类。

我的SuggestBox效果不佳。让我感到困惑的是,如果我使用FlexTable将其添加到setWidget(row, column, widget)(我必须通过建议框显示我添加的条目),这个组件可以正常工作,所以在初始化时我可能会遗漏一些东西UI。虽然我有Dewsbury&#39;在GWT应用程序上预订,它不包括UiBinder。我检查过的教程和代码示例使用

<g:SuggestBox ui:field="mySuggestBox"/>

没问题。但是,在创建和初始化此组件或使SuggestBox不起作用的UI时,我不明白我做错了什么。我不知道它是否需要超过

actorSuggestBox = new SuggestBox(new CustomSuggestOracle());

初始化sugestbox,或者在链接/初始化此组件时是否存在任何其他重要概念。

组件声明为

@UiField 
@Ignore
SuggestBox actorSuggestBox;

1 个答案:

答案 0 :(得分:1)

你必须使用:

@UiField (provided = true)
SuggestBox actorSuggestBox = new SuggestBox(new CustomSuggestOracle());

您需要在调用活页夹(createAndBindUi)之前初始化此小部件。