Я пытаюсь провести простой эксперимент с ResizableComposite
, регистрируя ширину и высоту виджета, но не получаю никакого ответа.
ResizableFlowPanel
public class ResizableFlowPanel extends FlowPanel implements RequiresResize, ProvidesResize {
public ResizableFlowPanel() {
super();
}
@Override
public void onResize() {
GWT.log(this.getOffsetHeight() +","+this.getOffsetWidth());
}
}
AppBody.java
public class AppBody extends ResizeComposite implements RequiresResize,
ProvidesResize {
private static AppBodyUiBinder uiBinder = GWT.create(AppBodyUiBinder.class);
public AppBody() {
initWidget(uiBinder.createAndBindUi(this));
}
@Override
public void onResize() {
GWT.log(this.getOffsetHeight() + "," + this.getOffsetWidth());
super.onResize();
}
interface AppBodyUiBinder extends UiBinder<Widget, AppBody> {
}
}
AppBody.ui.xml
<ui:UiBinder ...>
<e:ResizableFlowPanel styleName="{bundle.appBodyStyle.app_body}">
</e:ResizableFlowPanel>
</ui:UiBinder>
Когда я изменяю размер браузера, я не получаю никаких сообщений журнала.
RequiresResize
будет иметь значение только в том случае, если вы добавите виджет к родителю, который реализуетProvidesResize
— так к чему вы добавляете AppBody? И почему AppBody не выполняетProvidesResize
и не вызываетonResize()
для любого дочернего элемента, который реализуетRequresResize
(он жеResizableFlowPanel
)? - person Colin Alworth   schedule 15.01.2013