Java 相对宽度
我正在尝试制作一个具有相对大小参数的滚动面板。但是如果您有int值,例如Java 相对宽度,java,gwt,width,Java,Gwt,Width,我正在尝试制作一个具有相对大小参数的滚动面板。但是如果您有int值,例如Window.getHeight返回的值,则无法使用ScrollPanel.setSize(String,String)函数 当我尝试使用ScrollPanel.setSize(“100%,“150px”)它不会更改滚动面板的高度,而是使用默认值。任何帮助都将不胜感激。根据[ScrollPanel][1]的GWT文档,他们似乎对使用绝对和相对CSS单位的宽度非常严格。 因此,问题可能出在“100%”参数上 [1] :,jav
Window.getHeight返回的值,则无法使用ScrollPanel.setSize(String,String)
函数
当我尝试使用ScrollPanel.setSize(“100%,“150px”)代码>它不会更改滚动面板的高度,而是使用默认值。任何帮助都将不胜感激。根据[ScrollPanel][1]的GWT文档,他们似乎对使用绝对和相对CSS单位的宽度非常严格。
因此,问题可能出在“100%”参数上
[1] :,java.lang.String)我不确定是否可以处理高度,但对我来说,处理宽度的方法是先设置任意宽度,然后获取元素并设置宽度属性
ScrollPanel myScrollPanel = new ScrollPanel();
myScrollPanel.setSize("2112px", "150px"); // Arbitrary width.
myScrollPanel.getElement().getStyle().setProperty("width", "100%"); // or "auto"
希望这对你有用(虽然你5年前问过这个问题,所以你可能不再太担心了) 从这里复制我的答案:
==================================================================
首先,ScrollPanel是一个不作为其他小部件的东西,原因我不知道为什么。无法设置相对大小(50%),若我给它一些样式,它会丢失在某个地方,无法从页面中找到
我的解决方案是使用ResizeLayourpanel。Andrei建议使用ProvidesResize,但要求provide/require resize链保持不变,这可能非常棘手。我发现这个ResizeLayoutPanel“为它的一个子级提供了调整大小的功能,但不需要调整大小”,它是我的合成文件的根面板的完美候选者。然后,只要父ResizeLayoutPanel调用ScrollPanel,我就可以通过“onResize”方法扩展ScrollPanel来调整其自身大小
对我的第一个问题仍然没有答案:首先,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);