修改
我通过调整VerticalPanel
中的组件来修复空白行为,这些组件似乎对控制台错过了面板的维度产生了影响。我不太明白。
但是,我仍然没有看到任何显示垂直滚动条的面板。
在GWT项目中,我有以下结构:
网页
DockLayoutPanel
North (header)
Center (body)
South (footer)
/DockLayoutPanel
车身
SplitLayoutPanel$1
West
SplitLayoutPanel$2
North
Center
TabPanel
ScrollPanel
VerticalPanel
-Several widgets-
/VerticalPanel
/ScrollPanel
/TabPanel
/Center
/SplitLayoutPanel$2
/West
Center
/SplitLayoutPanel$1
我的问题与ScrollPanel
中的TabPanel
有关,VerticalPanel
本身包含一个包含多个小部件的Tab
。对TabPanel
中的每个SplitLayoutPanel$2
都是如此。
我的问题是,虽然ScrollPanel
中心的所有容器的宽度都有100%的宽度,但VerticalPanel
包含一个水平滚动条,旁边有一个相当大的白色区域{{1} },虽然它们的绝对指标大小相同。
说明情况
overview of the TabPanel http://i48.tinypic.com/1fu448.png
这是TabPanel
,ScrollPanel
和VerticalPanel
。注意水平滚动条是如何存在的,而TabPanel
,ScrollPanel
和VerticalPanel
具有相同的宽度。向右滚动会产生白色区域。
ScrollPanel
和VerticalPanel
的绝对宽度均为598像素。 DockLayoutPanel
的West组件大小为600,因此匹配。还要注意如何启动开发人员控制台使滚动条消失。实际上,整个面板已经消失在其后面,并且没有垂直滚动条弹出。
向右滚动条形图时,VerticalPanel
部分放置在屏幕外,ScrollPanel
显示此空白区域。显然,我不希望空白存在,因此根本不需要滚动条。在这种情况下,所有面板仍具有相同的宽度:598px。使用右边框调整SplitLayoutPanel
的大小会增加这些值(显然),但是面板仍然具有相同的宽度,并且空格保持相同的大小,而我希望它也会变得更宽。 / p>
第二个标签包含一大堆文字,它会在屏幕上显示,但不会显示滚动条。
问题结论
非常感谢任何帮助。
修改
尝试将VerticalPanel
的大小调整为90或80%宽度。空白似乎没有受到影响,它表明100%确实覆盖了可见宽度而不是更多。
答案 0 :(得分:6)
TabPanel
(至少是来自GWT的那个)从内到外调整大小:其大小取决于所选标签的大小。因此,除非您明确指定大小,否则您的ScrollPanel
将永远不会有垂直滚动条,并且您的内容实际上溢出了您放置SplitLayoutPanel
TabPanel
的图层 in。
布局面板(例如TabLayoutPanel
)会从外向内调整:SplitLayoutPanel
会在其中心区域设置TabLayoutPanel
的大小,而{ {1}}会依次设置TabLayoutPanel
的大小,因此如果ScrollPanel
的内容溢出,则会出现垂直滚动条。
答案 1 :(得分:2)
第一点:不要混淆和匹配布局面板和非布局面板。
第二点:如果您想要正确调整大小和滚动条,请始终尝试以百分比表示宽度和高度。
我看到你提到宽度为100%
。但是height
?
我建议你的是,
将TabPanel
更改为TabLayoutPanel
将整个层面的所有面板高度设置为100%