Code:
FormData f = new FormData("100%");
FormPanel p = new FormPanel();
p.setWidth(350);
p.setLayout(new RowLayout(Orientation.VERTICAL));
LayoutContainer top = new LayoutContainer();
FormLayout formLayout1 = new FormLayout();
top.setLayout(formLayout1);
TextField<String> t1 = new TextField<String>();
t1.setFieldLabel("Label 1");
top.add(t1, f);
RadioGroup g = new RadioGroup();
g.setOrientation(Orientation.VERTICAL);
g.setFieldLabel("Label 2");
g.add(new Radio());
g.add(new Radio());
g.add(new Radio());
top.add(g, f);
p.add(top, new RowData(1, -1));
LayoutContainer bottom = new LayoutContainer();
FormLayout formLayout2 = new FormLayout();
formLayout2.setLabelAlign(LabelAlign.RIGHT);
bottom.setLayout(formLayout2);
p.add(bottom, new RowData(1, -1, new Margins(0, 0, 0, 80)));
DateField d = new DateField();
d.setFieldLabel("label 3");
bottom.add(d, f);
d = new DateField();
d.setFieldLabel("label 4");
bottom.add(d, f);
You can do it like this for example. However i would do a custom "date range" fieldwidget.