繁体   English   中英

Vaadin 7中Application类的替换

[英]Replacement for Application class in Vaadin 7

我猜应用程序类已从Vaadin 7中删除,并且setMainWindow()不再有效。

public class MyApplication extends Application {   //ERROR coz there's no Application class
    public void init() {
        Window mainWindow = new Window("My Application");
        setMainWindow(mainWindow);          //Error setMainWindow not defined
        mainWindow.getContent().setSizeFull();

        MyComposite myComposite = new MyComposite();
        mainWindow.addComponent(myComposite);
    }
}

虽然上面的代码在Vaadin 6中有效,但它在Vaadin 7中不起作用。有谁知道如何解决这个问题? 使用什么类而不是应用程序? 请帮忙

新的UI

你应该在Vaadin 7中扩展com.vaadin.ui.UI 此类表示显示Vaadin应用程序的Web浏览器窗口/选项卡(或门户视口 )的整个内容区域。 每个Vaadin应用程序都有一个UI实例; 打开的其他窗口每个都有一个UI实例。

有关更多信息,请查看Wiki页面, 从Vaadin 6迁移到Vaadin 7

该指南中的第一个示例显示了Vaadin 6和7中的最小应用程序,如下所示。

瓦丁7

版本7应用程序扩展了UI类。

import com.vaadin.server.VaadinRequest;
import com.vaadin.ui.*;

@Theme("mytheme")
public class MyApplicationUI extends UI {

    @Override
    protected void init(VaadinRequest request) {
        VerticalLayout view = new VerticalLayout();
        view.addComponent(new Label("Hello Vaadin!"));
        setContent(view);
    }
}

瓦丁6

版本6应用扩展了Application类。

import com.vaadin.Application;
import com.vaadin.ui.*;

public class V6tm1Application extends Application {
    @Override
    public void init() {
        Window mainWindow = new Window("V6tm1 Application");
        Label label = new Label("Hello Vaadin!");
        mainWindow.addComponent(label);
        setMainWindow(mainWindow);
        setTheme(“mytheme”);
    }

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM