为什么在Vaadin 7中使用CustomComponent进行布局?

时间:2014-09-30 22:03:32

标签: java components vaadin vaadin7

Book of Vaadin和Vaadin培训课程都建议使用com.vaadin.ui.CustomComponent来包含布局。

我可以在纯理论中理解这一点,在不必要地暴露特定布局(如GridLayout或Horizo​​ntalLayout)的情况下封装内容。封装有以下好处:

  • 鼓励课程之间的分离
  • 无需更改外部类中的声明即可更轻松地更改布局。

但就实用性而言,我假设CustomComponent的渲染意味着额外的HTML / CSS布局指令,例如可能是另一个div。 Vaadin渲染需要的最后一件事是HTML结构的另一层。

我想知道这可能是古老的民间传说。也许在Eclipse中使用可视化合成工具只接受CustomComponent个对象而不是Layout个对象? (只是猜测,我不知道)

➤或者,为什么不在外层类中声明类型com.vaadin.ui.Layout的引用变量以获得相同的封装?

➤我夸大了将自定义组件添加到Vaadin渲染的影响吗?

➤我还没有看到CustomComponent的其他好处吗?

2 个答案:

答案 0 :(得分:0)

CustomLayout的主要优点是,您可以将组件放在HTML代码中,否则无法通过vaadin方式生成。

如果这会增加更多div / html,就像本机布局一样取决于特定情况。

我们通常仅在干净的Vaadin解决方案会引入更多组件/ div或无法实现时才使用它。

第二个想法是布局和逻辑的分离,可以使用此布局部分实现。您只需指定您拥有的组件,然后UI设计器(在理论上)就可以创建HTML代码,并使用正确的块来放置组件。

在现实生活中我并不认为这是一个真正的优势,因为整个CSS,大小调整等无论如何都是用vaadin完成的。

答案 1 :(得分:0)

您可以使用Visual Designer撰写CustomComponent的内容。这在开发过程中节省了大量时间