我正在从Vaadin 6迁移到Vaadin 7。
在将Vaadin 6的Refresher更改为Vaadin 7的Refresher之后,似乎我应该将addComponent(refresher)更改为addExtension(refresher)。但是不幸的是,当我这样做时,我收到了一个空页面而不是我的组件。有人可以帮忙吗?我不完全了解该怎么办。

最佳答案

这是我使用的示例代码:

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;
    }

}

09-27 15:54