Java 如何根据需要使用滚动条构建扩展的vaadin窗口
我正在构建一个扩展窗口/布局,它将根据提供的数据进行扩展/收缩,可能会扩展以填充浏览器窗口 编辑:滚动条应位于工作区,而不是窗口上 到目前为止,我只能通过一个简单的标签列表(参见simple_list.png)使它垂直工作Java 如何根据需要使用滚动条构建扩展的vaadin窗口,java,vaadin,vaadin7,Java,Vaadin,Vaadin7,我正在构建一个扩展窗口/布局,它将根据提供的数据进行扩展/收缩,可能会扩展以填充浏览器窗口 编辑:滚动条应位于工作区,而不是窗口上 到目前为止,我只能通过一个简单的标签列表(参见simple_list.png)使它垂直工作 垂直滚动条在浏览器窗口填充时显示垂直水平滚动条始终存在,窗口/布局的宽度似乎由面板标题的长度和右上角的窗口图标指示。 编辑:面板上的滚动条OK。没有横向扩展 对于GridLayout,它完全失败(参见GridLayout.png)。 编辑:即工作区(面板)上没有滚动条 最
- 垂直滚动条在浏览器窗口填充时显示垂直水平滚动条始终存在,窗口/布局的宽度似乎由面板标题的长度和右上角的窗口图标指示。
编辑:面板上的滚动条OK。没有横向扩展 - 对于GridLayout,它完全失败(参见GridLayout.png)。
编辑:即工作区(面板)上没有滚动条
公共测试窗口(){
super.setSizeUndefined();
VerticalLayout vL=新的VerticalLayout();
vL.setsizevel();
超级设置内容(vL);
//添加组件(buildHeader());
面板工作区=新面板();
工作区。设置大小();
工作区。设置标题(“视图”);
vL.ADD组件(工作区);
容积率(工作区,1f);
//添加组件(buildFooter());
//-----------------------------
VerticalLayout视图=新建VerticalLayout();
view.setSizeUndefined();
workArea.setContent(视图);
对于(int i=0;i<100;i++){
字符串s=“视图行”+i;
对于(int j=0;j<10;j++){
s+=“uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuj;
}
标签线=新标签;
line.setSizeUndefined();
视图.添加组件(行);
}
//=============================
/*
VerticalLayout视图=新建VerticalLayout();
view.setSizeUndefined();
workArea.setContent(视图);
GridLayout gl=新的GridLayout();
gl.setSizeUndefined();
视图.添加组件(gl);
视图。设置扩展比率(总帐,1);
gl.设置列(2);
对于(int i=0;i<100;i++){
标签线=新标签(“视图线”+i);
line.setSizeUndefined();
总帐。添加组件(行);
}
*/
//------------------------------
中心();
setModal(真);
可设置的(真);
UI.getCurrent().addWindow(此);
}
瓦丁文件中说: 如果子窗口具有固定大小或百分比大小,且其内容太大而无法放入内容区域,则会显示特定方向的滚动条。另一方面,如果子窗口在方向上有未定义的大小,它将适合内容的大小,并且永远不会获得滚动条
来源:更新了帖子,澄清了滚动条和未能扩展窗口的问题。滚动条在工作区的工作方式与预期相同,即面板滚动条而非窗口同上。窗口的扩展可垂直工作,但不能水平工作
public TestWindow() {
super.setSizeUndefined();
VerticalLayout vL = new VerticalLayout();
vL.setSizeFull();
super.setContent(vL);
//vL.addComponent(buildHeader());
Panel workArea = new Panel();
workArea.setSizeFull();
workArea.setCaption("View");
vL.addComponent(workArea);
vL.setExpandRatio(workArea, 1f);
//vL.addComponent(buildFooter());
//-----------------------------
VerticalLayout view = new VerticalLayout();
view.setSizeUndefined();
workArea.setContent(view);
for (int i=0; i < 100; i++) {
String s = "view line "+i;
for (int j=0; j < 10; j++) {
s += "____________________"+j;
}
Label line = new Label(s);
line.setSizeUndefined();
view.addComponent(line);
}
//=============================
/*
VerticalLayout view = new VerticalLayout();
view.setSizeUndefined();
workArea.setContent(view);
GridLayout gl = new GridLayout();
gl.setSizeUndefined();
view.addComponent(gl);
view.setExpandRatio(gl, 1);
gl.setColumns(2);
for (int i=0; i < 100; i++) {
Label line = new Label("view line "+i);
line.setSizeUndefined();
gl.addComponent(line);
}
*/
//------------------------------
center();
setModal(true);
setDraggable(true);
UI.getCurrent().addWindow(this);