I have a DockLayoutPanel, inside the DockLayoutPanel there is some FlowPanel plus many DisclosurePanel, I want the content inside the DockLayoutPanel can scroll when many of these DisclosurePanel are expanded, how to achieve this?
Use a ScrollPanel inside the DockLayoutPanel and put your FlowPanel into that ScrollPanel...
and I found that if I set DockLayoutPanel height to 100%, the DockLayoutPanel cannot show anything, it must use a numeric unit like setHeight("720px"); why?
Have you put your DockLayoutPanel inside the RootLayoutPanel or in any other LayoutPanel? If you do so, you won't need to specify any heights as they always fill the available area by default.
Setting the height to 100% only works if the parent element has a size (and thats maybe not given in your structure) whereas setting the height as fixed pixels works without this requirement.
-- J.