GWT可调整大小的复合材料
我正在通过记录小部件的宽度和高度,尝试使用GWT可调整大小的复合材料,gwt,resize,composite,Gwt,Resize,Composite,我正在通过记录小部件的宽度和高度,尝试使用ResizeableComposite进行一个简单的实验,但没有得到任何响应 可调整大小的FlowPanel public class ResizableFlowPanel extends FlowPanel implements RequiresResize, ProvidesResize { public ResizableFlowPanel() { super(); } @Override public
ResizeableComposite
进行一个简单的实验,但没有得到任何响应
可调整大小的FlowPanel
public class ResizableFlowPanel extends FlowPanel implements RequiresResize, ProvidesResize {
public ResizableFlowPanel() {
super();
}
@Override
public void onResize() {
GWT.log(this.getOffsetHeight() +","+this.getOffsetWidth());
}
}
<ui:UiBinder ...>
<e:ResizableFlowPanel styleName="{bundle.appBodyStyle.app_body}">
</e:ResizableFlowPanel>
</ui:UiBinder>
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扩展ResizeComposite实现RequiresResize,
提供调整大小{
私有静态AppBodyUiBinder uiBinder=GWT.create(AppBodyUiBinder.class);
公共机构(){
initWidget(uiBinder.createAndBindUi(this));
}
@凌驾
公共void onResize(){
log(this.getOffsetHeight()+”,“+this.getOffsetWidth());
super.onResize();
}
接口AppBodyUiBinder扩展了UiBinder{
}
}
AppBody.ui.xml
public class ResizableFlowPanel extends FlowPanel implements RequiresResize, ProvidesResize {
public ResizableFlowPanel() {
super();
}
@Override
public void onResize() {
GWT.log(this.getOffsetHeight() +","+this.getOffsetWidth());
}
}
<ui:UiBinder ...>
<e:ResizableFlowPanel styleName="{bundle.appBodyStyle.app_body}">
</e:ResizableFlowPanel>
</ui:UiBinder>
调整浏览器大小时,不会收到任何日志消息。FlowPanel会根据其父级调整大小。我认为您不需要编写“ResizableFlowPanel extends FlowPanel implements RequiresResize”
RequiresResize
只会在您将小部件添加到实现ProvideResize
的父级时产生影响-那么您将AppBody添加到什么?为什么AppBody没有实现providesize
并在实现请求resize
的任何子级上调用onResize()
(又称resizebleflowPanel
)?Colin,我正在将其添加到HtmlPanel;所以这可能就是它不起作用的原因。有没有一种方法可以跟踪面板的大小,而不必从RootPanel开始实现这两个接口?