有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何用简单的链接打开子窗口

我想用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);

共 (1) 个答案

  1. # 1 楼答案

    这样做:

    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);
          }
    
      });
    

    从这里开始:

    https://vaadin.com/book/vaadin7/-/page/layout.sub-window.html

    如果您希望打开一个真正的浏览器窗口(而不是子窗口),请查看以下内容:

    https://vaadin.com/book/vaadin7/-/page/advanced.html

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