我正在使用BrowserWindowOpener成功打开新的浏览器窗口。
问题:如何将一些信息传递给新实例化的UI子类?
语法要求我指定要实例化的类。如何与未来的实例进行通信?
BrowserWindowOpener bookOpener = new BrowserWindowOpener( BookUI.class );
例如,假设我的应用程序打开一个窗口,列出以字母(A-Z)的特定字母开头的单词的单词定义。如何告诉新开启的UI它应该显示“A”字,“B”字或“V”字?
我注意到了BrowserWindowOpenerState类,但没有记录它的使用。
答案 0 :(得分:4)
我没有试过这个,但快速浏览一下javadoc表明,使用BrowserWindowOpener#setParameter或BrowserWindowOpener#setUriFragment可以将参数传递给用户界面。
E.g。
BrowserWindowOpener bookOpener = new BrowserWindowOpener( BookUI.class );
bookOpener.setParameter("startLetter", "A");
...
class BookUI {
protected abstract void init(VaadinRequest request){
String startLetter = request.getParameter("startLetter");
// Etc
}
}