4

我猜 Application 类已从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 中无效。有谁知道如何解决这个问题?用什么类代替应用程序?请帮忙

4

1 回答 1

8

UI班级

com.vaadin.ui.UI您应该在Vaadin 7中进行扩展。此类表示显示 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”);
    }

}
于 2013-03-07T17:12:05.123 回答