java - 垂直布局内边距

标签 java vaadin

  1. 为什么 VerticalLayout 内的组件在放置时会从边缘留出一些内边距?
  2. 如何解决这个问题?

下面的代码演示了这个问题:

@Component
@UIScope
public class TestForm extends CustomComponent {

    public TestForm() {

        HorizontalLayout hlayout = new HorizontalLayout();
        VerticalLayout vlayout = new VerticalLayout();
        hlayout.setSizeFull();
        vlayout.setStyleName("page");

        Label label1 = new Label("Label1");
        Label label2 = new Label("Label2");
        hlayout.addComponent(label1);
        vlayout.addComponent(label2);
        hlayout.addComponent(vlayout);

        setCompositionRoot(hlayout);
    }

}

结果: enter image description here

谢谢!

最佳答案

自 Vaadin 8 起,VerticalLayout 的默认设置是有一个“边距”。这意味着您可以获得布局的每个单元格所经历的填充。因此,将 label2 放在您想要的位置,您可以调用:

vlayout.setMargin(false)

关于java - 垂直布局内边距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47368504/

相关文章:

java - 当我尝试从 GitHub 存储库构建和运行代码时出现 Gradle 同步问题

java - JPanel 快照并将图像保存在文件中。它显示黑色图像。该怎么办?

java - 具有多个已知类的 GSON

java - Vaadin 网格文本字段用于 boolean 字符串到 boolean 转换器

java - 如何获取计算机时间而不是服务器 Java vaadin

java - 使用 TreeModel+AbstractTreeModel 的示例/教程?

java - 使用Sqoop Java.io错误导入Hive

spring - 当 session 未锁定时无法从父级中删除

java - 将 Vaadin CheckBox 保存到 JPA 的正确方法是什么?

vaadin - 强制 Vaadin 组件以不可见状态占据其空间