GWT相对宽度(GWT Relative Width)

2019-10-17 08:49发布

我试图让具有相对大小参数滚动面板。 但ScrollPanel.setSize(String, String)功能是不可能的,如果你有,如由返回int类型的工作Window.getHeight

当我尝试ScrollPanel.setSize("100%", "150px"); 它不会改变滚动面板的高度,而是使用默认值。 任何帮助,将不胜感激。

Answer 1:

根据GWT文档为[ScrollPanel] [1],它们似乎是相当严格的约在绝对相对不CSS单元中使用的宽度。 因此,该问题可以是与“100%”的参数。

[1]: http://google-web-toolkit.googlecode.com/svn/javadoc/1.5/com/google/gwt/user/client/ui/ScrollPanel.html#setSize(java.lang.String ,JAVA。 lang.String)



Answer 2:

我不知道是否有可能与高度来完成,但什么工作对我来说与宽度是先设置任意宽度,然后拿到元素并设置width属性。

ScrollPanel myScrollPanel = new ScrollPanel();
myScrollPanel.setSize("2112px", "150px");   // Arbitrary width.
myScrollPanel.getElement().getStyle().setProperty("width", "100%");  // or "auto"

希望这对你的作品(虽然你5年前问这个,所以你可能不会太担心它了)!



Answer 3:

从这里复制我的答案: 如何使用ScrollPanel相对大小

================================================== ================

首先,ScrollPanel不作为其他部件的原因,我不知道为什么什么。 无法设置相对规模(50%),如果我给它一些风格,它的地方丢失,无法从页面发现。

我的解决办法是使用ResizeLayoutPanel。 安德烈使用的东西ProvidesResize建议,但需要提供/需要调整链绵绵不绝,这是非常棘手的。 我发现这个ResizeLayoutPanel“ProvidesResize它的一个孩子,但不RequiresResize”,这是对我复合的根面板的最佳人选。 然后,我只是延长ScrollPanel来调整自身的“在onResize”的方法,只要它是由父ResizeLayoutPanel调用。

仍然没有回答我的第一个问题:由ScrollPanel这样的表现摆在首位? 我试图找到答案在它的源代码,但没有成功(虽然我没有花足够的时间来研究源代码)。

public class My100PctScrollPanel extends ScrollPanel {
    @Override
    public void onResize() {
        // Window.alert("on resize"); 
        this.setWidth(this.getParent().getOffsetWidth()+"px");
        this.setHeight(this.getParent().getOffsetHeight()+"px");
        super.onResize();
    }
}

........

compositeRoot = new ResizeLayoutPanel();  

........
scrollPanel = new My100PctScrollPanel();
compositeRoot.clear();
compositeRoot.add(scrollPanel);


文章来源: GWT Relative Width
标签: java gwt width