3

编辑

我通过调整 中的组件大小修复了空白行为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

我的问题在于ScrollPanelin TabPanel,它本身包含一个VerticalPanel包含多个小部件的。对于. Tab_TabPanel

我的问题是,虽然SplitLayoutPanel$2' 中心的所有容器的宽度都有 100% 的宽度,但 ' 中ScrollPanel包含一个水平滚动条,旁边有相当大的白色区域VerticalPanel,而它们的绝对度量大小相同。

说明情况

TabPanel 概览

这是TabPanelScrollPanelVerticalPanel。注意水平滚动条是如何存在的,而TabPanel,ScrollPanelVerticalPanel具有相同的宽度。向右滚动会产生一个白色区域。

滚动和垂直面板详细信息

ScrollPanel和所有运动的VerticalPanel绝对宽度为 598 像素。的 West 组件的DockLayoutPanel大小为 600,因此匹配。还要注意调出开发者控制台是如何使滚动条消失的。事实上,整个面板已经消失在它的身后,也没有弹出垂直滚动条。

滚动

向右滚动条时,VerticalPanel将部分放置在屏幕外,并ScrollPanel显示此空白。显然,我不希望空白在那里,所以根本不需要滚动条。这种情况下的所有面板仍然具有相同的宽度:598px。使用右边的边框调整 . 的大小会SplitLayoutPanel增加这些值(显然),但面板仍然共享相同的宽度,并且空白保持相同的大小,而我希望它也会变得更宽。

第二个选项卡包含大量文本,这些文本继续离开屏幕,但没有出现滚动条。

问题结论

  • 没有垂直滚动条
  • 带有一些神奇召唤空白的水平滚动条
  • 组件声称具有相同的宽度

任何帮助是极大的赞赏。

编辑

尝试将VerticalPanel宽度调整为 90% 或 80%。空白似乎不受影响,它表明 100% 确实覆盖了可见宽度,而不是更多。

4

2 回答 2

6

TabPanel(至少来自 GWT 的那个)从内到外调整大小:它的大小取决于所选选项卡的大小。所以你ScrollPanel永远不会有一个垂直滚动条,除非你明确地给它一个大小,并且你的内容实际上溢出了你放入的SplitLayoutPanelTabPanel

TabLayoutPanel另一方面,布局面板(例如 )从外向内调整大小:SplitLayoutPanelTabLayoutPanel在其中心区域设置 的大小,而TabLayoutPanel将依次设置 ​​的大小ScrollPanel,因此如果ScrollPanel溢出的内容,垂直出现滚动条。

于 2013-03-04T14:57:19.453 回答
2

第一点:不要混搭布局面板和非布局面板。

第二点:如果您想要正确调整大小和滚动条,请始终尝试以百分比形式提及宽度和高度。

我看到你提到了 width to be 100%。但是height呢?

我给你的建议是,

更改TabPanelTabLayoutPanel

将整个层次结构中的所有面板高度设置为100%

于 2013-03-05T05:01:36.863 回答