GWT - 当java.util.List更改时更新窗口小部件

时间:2011-01-16 22:21:35

标签: java gwt

我正在制作AsyncCalls并且他们用数据填充一些集合(java.util.List)。这些回调需要相当长的时间,因此在填充集合时,UI已完全加载。

但是,应该显示数据的小部件不会显示任何内容。因为当它们被初始化时,集合仍然是空的。

现在我需要强迫我的收藏以某种方式告诉我的小部件'嘿我有你的数据,喂你自己!',但我不知道如何。我在想一些观察者模式,但我不太确定。

我该如何解决这个问题?一个例子就是很好!

2 个答案:

答案 0 :(得分:3)

您的数据绑定应该在回调中完成。因此,您的窗口小部件应该具有setData()函数,或者如果您希望将其保留在构造函数中,则一旦获得回调,窗口小部件就必须初始化。

关注GWT Doc

 service.getCollection(dbName, new AsyncCallback() {
   public void onSuccess(Items[] result) {
     // Fill the data (result) here
   }

   public void onFailure(Throwable caught) {

   }
 });

答案 1 :(得分:0)

更好的方法是使用MVP pattern