【发布时间】:2014-05-22 18:27:21
【问题描述】:
我发现了很多问题,人们询问如何在 Vaadin 布局中隐藏滚动条,但我的问题是 Vaadin 没有显示任何滚动条。 例如我可以有这个代码:
HorizontalLayout layout = new HorizontalLayout();
layout.setSizeUndefined(); // I also tried setSizeFull()
for(Integer i = 1; i <= 15; i++) {
layout.addComponent(new Button("Test button #" + i.toString());
}
但是当我运行这段代码时,当浏览器窗口太小而无法全部显示时,页面上的按钮就会被切断。永远不会出现滚动条。
我也尝试创建面板,然后将我的布局添加到此面板。我已经测试了panel.addComponent(foo) 和panel.setContent(foo),我也尝试设置panel.setScrollable(true)。没有任何成功。
有没有办法在某种 Vaadin 布局中添加滚动条?我使用 Vaadin 6.8.7。 提前致谢!
有我的完整代码:
private ComponentContainer openZoomifyLayout() {
Panel panel = new Panel();
Panel panel2 = new Panel();
middlePanel = new MiddlePanel();
VerticalLayout mw = new VerticalLayout();
mw.setSizeFull();
HorizontalLayout sp = new HorizontalLayout();
Panel photos = new Panel();
photos.setSizeUndefined();
mw.addComponent(panel);
mw.addComponent(panel2);
mw.addComponent(sp);
mw.setExpandRatio(sp, 99);
mw.setExpandRatio(panel, 0);
mw.setExpandRatio(panel2, 0);
panel2.addComponent(middlePanel);
mw.setComponentAlignment(panel, Alignment.TOP_CENTER);
mw.setComponentAlignment(panel2, Alignment.TOP_CENTER);
photos.setContent(table);
photos.setScrollable(true);
sp.addComponent(photos);
sp.addComponent(createMainDetail());
return mw;
}
这个方法用在扩展Window的类中,所以在初始化的时候有:setContent(openZoomifyLayout());
【问题讨论】:
-
你能展示你的主要布局吗?可能在布局链的某处有一个固定高度的组件
-
我已经添加了主布局的代码.. :-)