我想应用程序类已从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中不起作用。有谁知道如何解决这个问题?使用什么类而不是应用程序?请帮忙
答案 0 :(得分:8)
UI
班级您应该在com.vaadin.ui.UI
中展开Vaadin 7。此类表示显示Vaadin应用程序的Web浏览器窗口/选项卡(或portal viewport)的整个内容区域。每个Vaadin应用程序都有一个UI实例;打开的其他窗口也都有一个UI实例。
有关更多信息,请查看Wiki页面Migrating from Vaadin 6 to Vaadin 7。
该指南中的第一个示例显示了Vaadin 6和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版应用扩展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”);
}
}