我正在使用GWT创建一个Web应用程序。我的基本面板是一个RootLayoutPanel,我在其上添加了一个DockLayoutPanel,我在其上附加了我的组件(聊天,表格等)。
我的问题在于更改浏览器窗口大小。我希望我的页面只调整大小,直到某个最小维度,然后我希望滚动条变为活动状态。
我尝试使用overflow和min-width css属性,但它似乎不起作用:如果我设置我的DockLayoutPanel最小宽度:800px(例如),面板将完全可见,直到我的浏览器窗口宽度为800px,这是正确的,但如果我再次减小窗口大小,滚动条不会激活,并且无法以任何方式查看面板的更多外部部分。
我希望我的解释清楚。谢谢你的建议。
答案 0 :(得分:3)
不确定它是否仍有帮助,但我遇到了类似的问题并找到了这样的解决方案 - 如http://code.google.com/webtoolkit/doc/latest/DevGuideUiPanels.html#Resize中的GWT文档中所述 我在我的root html页面添加了一个标签:
<body>
..
<div id="main" ></div>
..
</body>
然后在onModuleLoad方法中,而不是像以下那样添加面板:
interface Binder extends UiBinder<Widget, BasicApp> { }
private static final Binder binder = GWT.create(Binder.class);
public void onModuleLoad() {
DockLayoutPanel outer = binder.createAndBindUi();
RootLayoutPanel.get().add(outer);
}
我这样做:
public void onModuleLoad() {
DockLayoutPanel outer = binder.createAndBindUi();
LayoutPanel panel = new LayoutPanel();
panel.add(outer);
RootPanel.get("main").add(panel);
panel.setSize("800px", "800px");
}
请注意,您必须明确设置面板的大小才能在网页上正确显示。 当面板大小超过窗口大小时,您现在应该像在任何其他网页上一样滚动。
答案 1 :(得分:0)
尝试
RootLayoutPanel().get().add(new ScrollPanel(dockLayoutPanel));