为什么不调用 Vaadin Window.ResizeListener
Why Vaadin Window.ResizeListener is not invoked
我有以下 class 如下:-¨
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);
}
}
我找到了这个 link:https://vaadin.com/forum/thread/117302。我想我的代码与此类似。 windowResized 方法永远不会被调用是否我设置 setImmediate(true);或 setImmediate(false);
我正在使用 Vaadin 7。
怎么了?如何捕捉调整大小事件通知?
根据 link 中的代码示例和 post 的日期(8 年前)判断,您提供的 link 可能是针对 Vaadin6 问题,因为 Vaadin7 was released in 2013.
无论如何,您应该使用 addResizeListener(this);
:
而不是 addListener(this);
public class WindowWithResizeListener extends Window implements Button.ClickListener, Window.ResizeListener {
public WindowWithResizeListener() {
center();
setWidth(600, Unit.PIXELS);
setHeight(430, Unit.PIXELS);
setModal(true);
setResizable(true);
setImmediate(true);
addResizeListener(this);
}
@Override
public void windowResized(ResizeEvent resizeEvent) {
Notification.show("Resized!");
}
@Override
public void buttonClick(Button.ClickEvent clickEvent) {
}
}
还有 Vaadin 7.7.9 的输出:
我有以下 class 如下:-¨
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);
}
}
我找到了这个 link:https://vaadin.com/forum/thread/117302。我想我的代码与此类似。 windowResized 方法永远不会被调用是否我设置 setImmediate(true);或 setImmediate(false);
我正在使用 Vaadin 7。
怎么了?如何捕捉调整大小事件通知?
根据 link 中的代码示例和 post 的日期(8 年前)判断,您提供的 link 可能是针对 Vaadin6 问题,因为 Vaadin7 was released in 2013.
无论如何,您应该使用 addResizeListener(this);
:
addListener(this);
public class WindowWithResizeListener extends Window implements Button.ClickListener, Window.ResizeListener {
public WindowWithResizeListener() {
center();
setWidth(600, Unit.PIXELS);
setHeight(430, Unit.PIXELS);
setModal(true);
setResizable(true);
setImmediate(true);
addResizeListener(this);
}
@Override
public void windowResized(ResizeEvent resizeEvent) {
Notification.show("Resized!");
}
@Override
public void buttonClick(Button.ClickEvent clickEvent) {
}
}
还有 Vaadin 7.7.9 的输出: