【问题标题】:Why use FormLayout instead of a VerticalLayout in Vaadin?为什么在 Vaadin 中使用 FormLayout 而不是 VerticalLayout?
【发布时间】:2016-04-24 03:43:44
【问题描述】:

使用Formlayout,您的所有标题都在字段的左侧。如果您只有一列字段的表单,这很好,但是一旦您想要并排放置的同一行上有更复杂的表单(例如名字和姓氏),您就不能使用FormLayout ,至少如果您希望字段的标题保持一致,无论是在字段的左侧还是在字段的上方。是的,您可以将它们包装在HorizontalLayout 中并在FormLayout 中设置InputPrompt,但这并不总是适用于更复杂的表单,因为有时您仍然需要标题。使用VerticalLayout,至少您的所有字幕都将保持一致。

说了这么多,使用FormLayoutVerticalLayout 有什么优势?我希望所有标题都保持一致,无论是顶部还是左侧,如果我使用除单列字段之外的任何内容,那么我就不走运了。我相信验证也可以在FormLayout 之外完成,所以我不确定这是仅限于FormLayout 的专业人士。

如果我只使用VerticalLayout,那么我会得到字段上方的所有标题,这对于所有字段都是一致的,即使我必须进行任何高级布局并组合许多不同类型的布局,例如名字和姓氏在同一行,或者我希望城市和邮政编码字段大小不同的地址行等。

FormLayout 肯定比VerticalLayout 有优势,但我看不到...

【问题讨论】:

  • 如果没有怎么办?如果只是为了方便其他用例呢?
  • 很可能是这样,如果是这样,那就是答案:)

标签: java vaadin vaadin7


【解决方案1】:

确实没有太多内容。 FormLayout 已被使用,现已弃用 com.vaadin.ui.Form。我们可以推测该类可能是为com.vaadin.ui.Form 提供默认设置而创建的。

JavaDoc 中也说明了差异:

  • 标题在左边
  • 验证显示在标题之间 和组件
  • 默认间距和边距设置的差异

您还可以查看这两个类的服务器端代码。它看起来非常相似,因此两种布局的逻辑方面完全相同。

来源:the JavaDoc 和我自己的经历。

【讨论】:

  • 所以真正最大的区别是,至少如果你尝试将它与不同的布局组合成一个更复杂的用例,就是标题在左边,这意味着标题不一致位于。否则其他差异相当小(验证很好的例外)。
  • 感谢您的确认,不胜感激。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-04-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-06
相关资源
最近更新 更多