有没有办法使用 FormLayout
让 Vaadin 中的标题显示在左侧 WITHOUT ?我把它加粗是因为我试图避免这是第一个答案。我知道 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“为我的文本字段和标题生成我的插槽,我想在左侧/右侧显示标题”。
关于java - 有没有办法让 Vaadin 中的标题在不使用 FormLayout 的情况下出现在左侧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31600977/