java - 使用 vaadin Page.getCurrent().open() 方法时有没有办法传递参数?
问题描述
我正在尝试打开一个窗口或弹出窗口并将一些值传递给它。我想用参数发布。
我目前正在使用 vaadin 7.7.6,com.vaadin.server.Page.getCurrent().open() 在新的浏览器窗口中打开 url,不知道如何传递值,也可以它弹出而不是打开新的浏览器窗口
private PNativeButton button()
{
if (button== null)
{
button= new button("Press Me");
button.getNativeButton().setHeight(36, Unit.PIXELS);
button.setEnabled(true);
button.addClickListener(new ClickListener()
{
@Override
public void buttonClick(ClickEvent event)
{
getCurrent().open("https://stackoverflow.com/", "Pressed", 100, 100, BorderStyle.DEFAULT);
}
});
}
return button;
}
我期待一个新的弹出窗口,它使用某些参数发布 url。
解决方案
您可以扩展 Window 类并向其添加一些附加参数。例如:
class MySub extends Window {
private String message;
public MySub() {
super("Sub Window");
center();
}
public void initContent() {
setContent(new Button(message, event -> close()));
}
public void setMessage(String message) {
this.message = message;
}
}
并将其用于您的 UI
public static class SubWindowUI extends UI {
@Override
protected void init(VaadinRequest request) {
MySub mySub = new MySub();
mySub.setMessage("Close me !");
mySub.initContent();
addWindow(subWindow); // Open it in the UI
}
}
推荐阅读
- tensorflow - 一类对象检测中的背景图像
- javascript - WebView 评估Javascript 行为不可预测
- json - 如何将我的 django 应用程序的大型生产 postgres 数据库表数据移动到开发数据库?
- sql-server - 在 Visual Studio 中将参数与 SSIS 一起使用时出错
- css - Bootstrap 4 导航栏切换不显示在 iPad Pro 中
- java - AspectJ:在另一个方法中截取方法的返回结果
- swift - @IBDesignable 视图上的标签颜色因不同设备而不同
- html - 编辑器不想在网页上显示代码
- javascript - Firebase 云功能:onUpdate 更改参数错误去删除值
- apache-flink - 哪个版本稳定?