3.5.14. 使用 Vaadin 组件
要在 Web 客户端直接使用实现了可视化组件库中所述组件接口的 Vaadin 组件,请使用以下 Component 接口方法
-
unwrap()– 获取给定 CUBA 组件的底层 Vaadin 组件。 -
unwrapComposition()- 获取 Vaadin 组件,该组件是给定 CUBA 组件实现中的最外层封装容器。对于简单的组件,例如Button,此方法返回与unwrap()-com.vaadin.ui.Button相同的对象。对于复杂的组件,例如Table,unwrap()将返回相应的对象-com.vaadin.ui.Table,而unwrapComposition()将返回com.vaadin.ui.VerticalLayout,它包含表格(Table)以及与其一起定义的ButtonsPanel和RowsCount。
这些方法接收要返回的底层组件的类,例如:
com.vaadin.ui.TextField vTextField = textField.unwrap(com.vaadin.ui.TextField.class);
还可以使用 WebComponentsHelper 类的 unwrap() 和 getComposition() 静态方法,将 CUBA 组件传递给它们。
请注意,如果界面位于项目的 gui 模块中,则只能使用 CUBA 组件的通用接口。要使用组件的 unwrap() 方法,应该将整个界面放入 web 模块,或使用控制器友类机制。