Java 为什么不调用Vaadin Window.ResizeListener

Java 为什么不调用Vaadin Window.ResizeListener,java,vaadin7,Java,Vaadin7,我的课程如下:-( public class ExchangeWindow extends Window implements Button.ClickListener, Window.ResizeListener { public ExchangeWindow() { center(); setWidth(600, Unit.PIXELS); setHeight(430, Unit.PIXELS); setModal(true); setResiza

我的课程如下:-(

public class ExchangeWindow extends Window implements Button.ClickListener, Window.ResizeListener  {

public ExchangeWindow() {
    center();
    setWidth(600, Unit.PIXELS);
    setHeight(430, Unit.PIXELS);
    setModal(true);
    setResizable(true);
    setImmediate(true);
    addListener(this);
 }

@Override
public void windowResized(ResizeEvent resizeEvent) {
    if(left.isVisible()) {
        //left.setWidth(600, UNITS_PIXELS);
        exchangeTable.setWidth(600, UNITS_PIXELS);
    }
}
我找到了这个链接:。我想我的代码与此类似。无论我是否设置setImmediate(true),都不会调用windowResized方法;或设置为立即(假)

我用的是瓦丁7


怎么了?如何捕获调整大小事件通知

根据该链接中的代码示例和帖子日期(8年前)判断,您提供的链接可能是针对Vaadin6问题的,如下所示

无论如何,不是
addListener(这个)
您应该使用
addResizeListener(这个)

公共类WindowWithResizeListener扩展窗口实现按钮。单击Listener,Window.ResizeListener{
公共窗口WithResizeListener(){
中心();
设置宽度(600,单位像素);
设置高度(430,单位像素);
setModal(真);
可设置大小(真);
setImmediate(true);
addResizeListener(本);
}
@凌驾
公共无效窗口已调整大小(ResizeEvent ResizeEvent){
通知。显示(“调整大小!”);
}
@凌驾
公共作废按钮单击(Button.ClickEvent ClickEvent){
}
}
还有Vaadin 7.7.9的输出:


但只有在尝试通过拖动鼠标来调整窗口大小时,我才会得到该事件。当我单击最大化/还原按钮时,它不会触发此事件。我怎样才能捕捉到最大化/还原按钮的点击?@masiboo啊,你在问题中没有提到这一点。不过,该操作会触发一个不同的事件,您可以使用另一个侦听器,例如:
addWindowModeChangeListener(事件->通知.show(“新窗口模式:”+event.getWindowMode())
,它将告诉您窗口是最大化的还是正常的