java-有没有一种方法可以使Vaadin中的标题显示在左侧而不使用FormLayout?
作者:互联网
有没有办法在不使用FormLayout的情况下使Vaadin中的标题显示在左侧?我加粗了它,因为我试图避免这是第一个答案.我知道FormLayout提供了此功能,但是在某些情况下,我需要使用GridLayout之类的东西才能具有两列数据(例如,名字和姓氏,开始日期和结束日期,等等).
解决方法:
没有简单的方法可以做到,因为每种布局都会为其内部的组件生成适当的空间.您可以使用简单的CSS规则轻松更改由布局生成的“框”内标题和相应组件的顺序,但很难动态确定框的大小-这就是布局的作用.我在下图中演示了它:
如您所见,我能够使用以下CSS交换字幕的顺序及其文本字段:
#your-id .v-caption {
position: relative !important;
top: 10px !important;
}
#your-id .your-component {
top: 0px !important;
left: 0px !important;
position: absolute !important;
}
和代码
GridLayout l = new GridLayout(2,2);
l.addStyleName("your-id");
for(int i=0; i<4; i++){
TextField qq = new TextField();
qq.setCaption("DuDuDu");
qq.addStyleName("your-component");
l.addComponent(qq);
}
(我已在Firefox CSS编辑器中应用了这些规则,因此仅更改了一个插槽)
这是有可能的,因为我不必更改v-gridlayout-slot的大小.大小是由Vaadin动态生成的,您不能告诉Vaadin“为我的文本字段和标题生成我的广告位,而我想在左侧/右侧添加标题”.
标签:vaadin7,vaadin,java 来源: https://codeday.me/bug/20191120/2040307.html