Java 如何使用简单链接打开子窗口

Java 如何使用简单链接打开子窗口,java,vaadin,Java,Vaadin,我想用Vaadin打开一个带有简单链接的子窗口。但是链接唯一接受的是URL,而不是窗口对象。有没有办法让下面的代码正常工作 VerticalLayout ToDoList = new VerticalLayout(); ToDoList.setSpacing(true); ToDoList.setMargin(true); ToDoList.setSizeFull(); ToDoList.setSizeUndefined(); // ... Window mywindow = new Wi

我想用Vaadin打开一个带有简单链接的子窗口。但是链接唯一接受的是URL,而不是窗口对象。有没有办法让下面的代码正常工作

VerticalLayout ToDoList = new VerticalLayout();
ToDoList.setSpacing(true);
ToDoList.setMargin(true);
ToDoList.setSizeFull();
ToDoList.setSizeUndefined();

// ... 

Window mywindow = new Window("My Dialog");
mywindow.setPositionX(200);
mywindow.setPositionY(100);

ToDoList.addComponent(ToDoTable);
Link link = new Link("Click Me!", new ExternalResource(mywindow));
ToDoList.addComponent(link);
这样做:

ToDoList.addComponent(ToDoTable);
Button link = new Button("Click Me!");
ToDoList.addComponent(link);
link.addClickListener(ClickListener()
  {
      onClick()
      {
          Window mywindow = new Window("My Dialog");
          mywindow.setPositionX(200);
          mywindow.setPositionY(100);
          mainwindow.addWindow(mywindow);
      }

  });
从这里开始:

如果您希望打开真正的浏览器窗口(而不是子窗口),请查看此处:


然后,这取决于新窗口应该是您的vaadin应用程序的一部分,还是只是一些其他内容或独立的vaadin应用程序实例。

请查看,谢谢。这实际上是正确的,但它会使列变得不可排序。我以类似的方式解决了这个问题,在表中添加了一个标签和一列。