我在应用程序中有一个非模式Window
,在浏览器 View 的一部分上打开。
setModal(false);
它的内容是一个HorizontalLayout
- 不确定这是否重要。
当此窗口因任何原因关闭时,我希望执行某些操作。为此,我在其中添加了 CloseListener
:
addCloseListener(e -> System.out.println("closing the window _____________________"));
当通过在窗口外部单击关闭Window
时,此CloseListener
不会运行,这是它缺少 AFAIS 的唯一情况。我看到How to close a Vaadin subwindow on mouseclick outside of the window?有没有更简单的方法来解决这个问题?
很好的解决方案,但对于我们应用程序的结果来说太长了。
TIA。
最佳答案
您是否尝试过向窗口显示的 View 添加布局点击监听器或任何类型的点击监听器?
addCloseListener 仅在窗口关闭时触发。它不会导致窗口自行关闭。
component.addClickListener(e -> {
if(getUI().getWindows().contains(myWindow)
//逻辑在这里(删除/隐藏窗口)
});
关于java - Vaadin 8 非模态窗口 CloseListener - 通过在其外部单击关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50897713/