私はVaadinフレームワークを使ってアプリケーションを開発しています。アプリケーションは、ユーザがメニュー項目をクリックしたときに、アプリケーションがこのメインブラウザウィンドウのコンテンツ後Vaadin複数のブラウザのウィンドウ/タブ
public class RunReportCommand extends AbstractMenuAction {
@Override
public void execute() throws MenuException {
Window = .... // create window here
openWindow(window);
}
protected void openWindow(Window window) {
application.getMainWindow().open(new ExternalResource(window.getURL()));
application.setMainWindow(window);
}
}
ようAbstractMenuCommandクラスの子孫を実行し、メインメニューを有する必要なウィンドウに置き換えています。多くの時間を過ごした後、私は、このソリューションに来た:あなたはVaadinウィンドウとブラウザウィンドウの内容を置き換えたい場合は、必ず
application.getMainWindow().open(new ExternalResource(window.getURL()));
application.setMainWindow(window);
を行う必要があります最近、私は、アプリケーションに機能を追加する新しいタスクを得た:ユーザーが能力を持っている必要があります私はvaadin(とwindow.openはメインウィンドウのみで動作します)でもメインウィンドウは1つしかありませんが、ユーザはdiffirentなブラウザのタブでたくさんのdiffウィンドウを持つことができます。メイン・ウィンドウではないブラウザ・タブのメニュー項目では、ウィンドウ・コンテンツの再ロードは機能しません。