我从Vaadin 6迁移到Vaadin 7 在将Vaadin 6的Refresher更改为Vaadin 7的Refresher之后,似乎我应该将addComponent(refresher)更改为addExtension(refresher)。但不幸的是,当我这样做时,我收到了一个空页而不是我的组件。有人可以帮忙吗?我不完全明白我该做什么..
答案 0 :(得分:2)
以下是我使用的示例代码:
public class RefresherDemo extends UI {
Refresher refresher;
Label timeLabel;
protected void init(VaadinRequest request) {
final VerticalLayout layout = new VerticalLayout();
layout.setMargin(true);
setContent(layout);
timeLabel = new Label(getTime());
refresher = new Refresher();
refresher.setRefreshInterval(500);
refresher.addListener(new RefreshListener(){
@Override
public void refresh(Refresher source) {
timeLabel.setValue(getTime());
}
});
addExtension(refresher);
layout.addComponent(timeLabel);
}
public String getTime(){
DateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
Date date = new Date();
String d = dateFormat.format(date);
return d;
}
}
答案 1 :(得分:1)
我有同样的问题,我发现了如何解决它。我不知道自定义widgetset。有必要像这样添加对web.xml的引用:
<init-param>
<param-name>widgetset</param-name>
<param-value>com.mypackage.AppWidgetSet</param-value>
</init-param>
希望帮助某人