4

我正在使用BrowserWindowOpener成功打开新的浏览器窗口。

问题:如何将一些信息传递给新实例化的 UI 子类?

语法要求我指定要实例化的类。我如何与该未来实例进行通信?

BrowserWindowOpener bookOpener = new BrowserWindowOpener( BookUI.class );

例如,假设我的应用打开了一个窗口,其中列出了以特定字母 (AZ) 开头的单词的单词定义。如何告诉新打开的 UI 它应该显示“A”字、“B”字或“V”字?

我注意到BrowserWindowOpenerState类,但没有记录它的使用。

4

1 回答 1

4

我没有尝试过,但是快速浏览一下 javadoc 表明,通过使用BrowserWindowOpener#setParameterBrowserWindowOpener#setUriFragment,您可以将参数传递到 UI。

例如

BrowserWindowOpener bookOpener = new BrowserWindowOpener( BookUI.class );
bookOpener.setParameter("startLetter", "A");

...

class BookUI {
  protected abstract void init(VaadinRequest request){
    String startLetter = request.getParameter("startLetter");
    // Etc
  }
} 
于 2013-04-12T07:44:06.227 回答