Java Vaadin FormLayout未居中对齐
我有一个垂直布局,包装一个标签和一个表单布局。VerticalLayout根据默认设置将其构件居中对齐。标签按预期居中对齐。表单布局不正确 当我在调试视图中查看组件树时,FormLayout有一个宽度,跨越垂直布局的整个宽度。但是它的子项(文本字段)向左对齐,并且具有较低的宽度(我认为是默认值) 我的代码:Java Vaadin FormLayout未居中对齐,java,layout,vaadin,vaadin8,Java,Layout,Vaadin,Vaadin8,我有一个垂直布局,包装一个标签和一个表单布局。VerticalLayout根据默认设置将其构件居中对齐。标签按预期居中对齐。表单布局不正确 当我在调试视图中查看组件树时,FormLayout有一个宽度,跨越垂直布局的整个宽度。但是它的子项(文本字段)向左对齐,并且具有较低的宽度(我认为是默认值) 我的代码: @SpringView(name = RegisterView.VIEW_NAME) @DesignRoot public class RegisterView extends Vertic
@SpringView(name = RegisterView.VIEW_NAME)
@DesignRoot
public class RegisterView extends VerticalLayout implements View {
protected static final String VIEW_NAME = "register";
@PostConstruct
void init() {
setSizeFull();
setDefaultComponentAlignment(Alignment.MIDDLE_CENTER);
createUIComponents();
setSpacing(true);
}
private void createUIComponents() {
addComponent(new Label("HEADER"));
addComponent(createRegistrationForm());
addComponent(new Label("TEST"));
}
private FormLayout createRegistrationForm() {
final FormLayout layout = new FormLayout();
final TextField firstNameTextField = new TextField("firstName");
final TextField lastnameTextField = new TextField("lastname");
layout.addComponents(firstNameTextField, lastnameTextField);
return layout;
}
我做错了什么,如何将FormLayout集中在垂直布局中?我找到了一个解决方案(尽管FormLayout的行为似乎很奇怪):
我没有调用setSizeFull()
而是调用setSizeUndefine()
让FormLayout只包装其子组件所需的空间。这允许包装布局将FormLayout居中
我无法做到的是:我无法将FormLayout设置为全宽,并将其子项居中对齐。我找到了一个解决方案(尽管FormLayout的行为似乎很奇怪):
我没有调用setSizeFull()
而是调用setSizeUndefine()
让FormLayout只包装其子组件所需的空间。这允许包装布局将FormLayout居中
我无法做到的是:我无法将FormLayout设置为全宽,并将其子项居中对齐。我猜全尺寸将根据屏幕固定大小设置大小,但未定义将允许包装到父容器,可能,但是有时候vaadin很奇怪:D。我猜full size会根据屏幕固定的大小设置大小,但是undefined可能会允许包装到父容器,但有时候vaadin很奇怪:D。