public Canvas getViewPanel() { HStack hStack = new HStack(); hStack.setWidth(300); hStack.setHeight(100); hStack.setShowEdges(true); hStack.setCanAcceptDrop(true); hStack.setAnimateMembers(true); hStack.setDropLineThickness(4); final Label focusLabel = new Label(); focusLabel.setID("focusLabel"); focusLabel.setAlign(Alignment.CENTER); focusLabel.setTop(150); focusLabel.setWidth(300); focusLabel.setHeight(50); final Img bluePawn = new Img(); bluePawn.setID("bluePawn"); bluePawn.setLayoutAlign(Alignment.CENTER); bluePawn.setWidth(48); bluePawn.setHeight(48); bluePawn.setCanFocus(true); bluePawn.setSrc("pieces/48/pawn_blue.png"); bluePawn.setCanDragReposition(true); bluePawn.setCanDrop(true); bluePawn.setDragAppearance(DragAppearance.TARGET); bluePawn.addDrawHandler( new DrawHandler() { public void onDraw(DrawEvent event) { bluePawn.focus(); } }); bluePawn.addFocusChangedHandler( new FocusChangedHandler() { public void onFocusChanged(FocusChangedEvent event) { changeLabel(focusLabel, bluePawn.getID(), event.getHasFocus()); } }); ComboBoxItem field1 = new ComboBoxItem(); field1.setName("field1"); field1.setValueMap("Option 1", "Option 2"); DateItem field2 = new DateItem(); field2.setName("field2"); final DynamicForm simpleForm = new DynamicForm(); simpleForm.setID("simpleForm"); simpleForm.setLayoutAlign(Alignment.CENTER); simpleForm.setHeight(48); simpleForm.setFields(field1, field2); simpleForm.addFocusChangedHandler( new FocusChangedHandler() { public void onFocusChanged(FocusChangedEvent event) { changeLabel(focusLabel, simpleForm.getID(), event.getHasFocus()); } }); final Img greenPawn = new Img(); greenPawn.setID("greenPawn"); greenPawn.setLayoutAlign(Alignment.CENTER); greenPawn.setWidth(48); greenPawn.setHeight(48); greenPawn.setCanFocus(true); greenPawn.setSrc("pieces/48/pawn_green.png"); greenPawn.setCanDragReposition(true); greenPawn.setCanDrop(true); greenPawn.setDragAppearance(DragAppearance.TARGET); greenPawn.addFocusChangedHandler( new FocusChangedHandler() { public void onFocusChanged(FocusChangedEvent event) { changeLabel(focusLabel, greenPawn.getID(), event.getHasFocus()); } }); hStack.addMember(bluePawn); hStack.addMember(simpleForm); hStack.addMember(greenPawn); VLayout vLayout = new VLayout(); vLayout.setMembersMargin(10); vLayout.addMember(hStack); vLayout.addMember(focusLabel); return vLayout; }