java gridlayout宽度_java-ee – 无法使gridlayout适应屏幕大小(Vaadin 6.7.4)

在进入问题的具体细节之前,我想给您一个工具,帮助您了解组件在Vaadin中的扩展方式:

>将“?debug”添加到用于运行应用程序的地址的末尾(例如localhost / app /?debug“)

>小窗口将出现顶部的按钮.

>按C清除然后按AL分析布局

>结果树将出现.您可以按加号浏览该树

>每次按下组件(标签,面板等)时,组件将在屏幕上突出显示.

通过这个你可以看到我的代码下面有一个扩展整个屏幕的布局,一个面板扩展了网格的最后两个单元格和扩展宽度的标签

调试模式记录在Vaadin的书中

我相信组件正在正确扩展,但是在错误的地方.检查GridLayout在vaadin书中的工作原理.

以下代码更改您的坐标并添加一个标签,以显示面板确实正在采用网格的正确单元格.另外,将VerticalLayout添加到面板以进行对齐似乎更合乎逻辑:

@Override

public void init() {

Window main = new Window("My App");

main.setSizeFull();

setMainWindow(main);

VerticalLayout root = new VerticalLayout();

main.setContent(root);

main.getContent().setSizeFull();

GridLayout grid = new GridLayout(3, 2);

main.addComponent(grid);

grid.setColumnExpandRatio(0, 0.13f);

grid.setColumnExpandRatio(1, 0.86f);

grid.setColumnExpandRatio(2, 0.0f);

grid.setHeight(100, Sizeable.UNITS_PERCENTAGE);

grid.setWidth(100,Sizeable.UNITS_PERCENTAGE);

grid.addComponent(new Label("menu"), 0, 0, 2, 0);

grid.addComponent(new Label("tree"), 0, 1);

Panel pan = new Panel();

pan.setWidth(100, Sizeable.UNITS_PERCENTAGE);

pan.setHeight(100, Sizeable.UNITS_PERCENTAGE);

VerticalLayout body = new VerticalLayout();

body.setSizeFull();

pan.addComponent(body);

Label bodyLabel= new Label("body panel taking the 2 columns of the last row");

bodyLabel.setSizeUndefined();

body.addComponent(bodyLabel);

body.setComponentAlignment(bodyLabel, Alignment.MIDDLE_CENTER);

grid.addComponent(pan, 1,1 , 2, 1);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值