GWT Java

/*
 * SmartGWT (GWT for SmartClient)
 * Copyright 2008 and beyond, Isomorphic Software, Inc.
 *
 * SmartGWT is free software; you can redistribute it and/or modify it
 * under the terms of the GNU Lesser General Public License version 3
 * as published by the Free Software Foundation.  SmartGWT is also
 * available under typical commercial license terms - see
 * http://smartclient.com/license
 * This software is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * Lesser General Public License for more details.
 */
package com.smartgwt.sample.showcase.client;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.ui.RootPanel;
import com.smartgwt.client.types.Alignment;
import com.smartgwt.client.types.DragAppearance;
import com.smartgwt.client.widgets.Canvas;
import com.smartgwt.client.widgets.Img;
import com.smartgwt.client.widgets.Label;
import com.smartgwt.client.widgets.events.DrawEvent;
import com.smartgwt.client.widgets.events.DrawHandler;
import com.smartgwt.client.widgets.events.FocusChangedEvent;
import com.smartgwt.client.widgets.events.FocusChangedHandler;
import com.smartgwt.client.widgets.form.DynamicForm;
import com.smartgwt.client.widgets.form.fields.ComboBoxItem;
import com.smartgwt.client.widgets.form.fields.DateItem;
import com.smartgwt.client.widgets.layout.HStack;
import com.smartgwt.client.widgets.layout.VLayout;
public class Showcase implements EntryPoint{
    public void onModuleLoad() {
       RootPanel.get().add(getViewPanel());
    }
    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;
    }
    private void changeLabel(Label label, String id, boolean hasFocus) {
      if (hasFocus)
        label.setContents(id + " has focus");
        else
          label.setContents("");
    }
}
   
    
    
  
SmartGWT.zip( 9,880 k)