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クラス

Vaadin 7で拡張する必要がありcom.vaadin.ui.UIます。このクラスは、Vaadin アプリが表示されるWeb ブラウザー ウィンドウ/タブ (またはポータル ビューポート) のコンテンツ領域全体を表します。すべての Vaadin アプリには 1 つの UI インスタンスがあります。開いた追加のウィンドウには、それぞれ UI インスタンスもあります。

詳細については、Wiki ページのVaadin 6 から Vaadin 7 への移行 を参照してください。

そのガイドの最初の例は、以下にコピーされているように、Vaadin 6 と 7 の両方で最小限のアプリを示しています。

ヴァーディン 7

UIバージョン 7 アプリはクラスを拡張します。

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バージョン 6 アプリはクラスを拡張します。

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 に答える