GWT Java

/*
 * Ext GWT - Ext for GWT
 * Copyright(c) 2007-2009, Ext JS, LLC.
 * licensing@extjs.com
 * 
 * http://extjs.com/license
 */
package com.google.gwt.sample.hello.client;
import com.extjs.gxt.ui.client.Style.LayoutRegion;
import com.extjs.gxt.ui.client.Style.Scroll;
import com.extjs.gxt.ui.client.event.ButtonEvent;
import com.extjs.gxt.ui.client.event.Events;
import com.extjs.gxt.ui.client.event.Listener;
import com.extjs.gxt.ui.client.util.Margins;
import com.extjs.gxt.ui.client.util.Padding;
import com.extjs.gxt.ui.client.widget.ContentPanel;
import com.extjs.gxt.ui.client.widget.Html;
import com.extjs.gxt.ui.client.widget.LayoutContainer;
import com.extjs.gxt.ui.client.widget.Text;
import com.extjs.gxt.ui.client.widget.button.Button;
import com.extjs.gxt.ui.client.widget.button.ToggleButton;
import com.extjs.gxt.ui.client.widget.layout.BorderLayout;
import com.extjs.gxt.ui.client.widget.layout.BorderLayoutData;
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
import com.extjs.gxt.ui.client.widget.layout.FlowData;
import com.extjs.gxt.ui.client.widget.layout.VBoxLayout;
import com.extjs.gxt.ui.client.widget.layout.VBoxLayoutData;
import com.extjs.gxt.ui.client.widget.layout.BoxLayout.BoxLayoutPack;
import com.extjs.gxt.ui.client.widget.layout.VBoxLayout.VBoxLayoutAlign;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.Element;
import com.google.gwt.user.client.ui.RootPanel;
public class Hello implements EntryPoint {
  public void onModuleLoad() {
    RootPanel.get().add(new VBoxLayoutExample());
  }
}
class VBoxLayoutExample extends LayoutContainer {
  private ContentPanel lcwest;
  private ContentPanel lccenter;
  private String button1Text = "Button 1";
  private String button2Text = "Button 2";
  private String button3Text = "Button 3";
  private String button4Text = "Button Long 4";
  @Override
  protected void onRender(Element parent, int index) {
    super.onRender(parent, index);
    setScrollMode(Scroll.AUTO);
    ContentPanel panel = new ContentPanel();
    panel.setHeading("VerticalBox Example");
    panel.setSize(600, 500);
    panel.setLayout(new BorderLayout());
    lcwest = new ContentPanel();
    lcwest.setHeaderVisible(false);
    VBoxLayout westLayout = new VBoxLayout();
    westLayout.setPadding(new Padding(5));
    westLayout.setVBoxLayoutAlign(VBoxLayoutAlign.STRETCH);
    lcwest.setLayout(westLayout);
    BorderLayoutData west = new BorderLayoutData(LayoutRegion.WEST, 150, 100, 250);
    west.setMargins(new Margins(5));
    west.setSplit(true);
    panel.add(lcwest, west);
    lccenter = new ContentPanel();
    lccenter.setHeaderVisible(false);
    lccenter.setLayout(new FitLayout());
    lccenter.add(new Html(
        "Select a configuration on the left

"));
    BorderLayoutData center = new BorderLayoutData(LayoutRegion.CENTER);
    center.setMargins(new Margins(5));
    panel.add(lccenter, center);
    VBoxLayoutData vBoxData = new VBoxLayoutData(5, 5, 5, 5);
    vBoxData.setFlex(1);
    lcwest.add(createToggleButton("Spaced", new Listener() {
      public void handleEvent(ButtonEvent ce) {
        if (!ce. getComponent().isPressed()) {
          return;
        }
        LayoutContainer c = new LayoutContainer();
        VBoxLayout layout = new VBoxLayout();
        layout.setPadding(new Padding(5));
        layout.setVBoxLayoutAlign(VBoxLayoutAlign.LEFT);
        c.setLayout(layout);
        c.add(new Button(button1Text), new VBoxLayoutData(new Margins(0, 0, 5, 0)));
        VBoxLayoutData flex = new VBoxLayoutData(new Margins(0, 0, 5, 0));
        flex.setFlex(1);
        c.add(new Text(), flex);
        c.add(new Button(button2Text), new VBoxLayoutData(new Margins(0, 0, 5, 0)));
        c.add(new Button(button3Text), new VBoxLayoutData(new Margins(0, 0, 5, 0)));
        c.add(new Button(button4Text), new VBoxLayoutData(new Margins(0)));
        addToCenter(c);
      }
    }), vBoxData);
    lcwest.add(createToggleButton("Multi-Spaced", new Listener() {
      public void handleEvent(ButtonEvent ce) {
        if (!ce. getComponent().isPressed()) {
          return;
        }
        LayoutContainer c = new LayoutContainer();
        VBoxLayout layout = new VBoxLayout();
        layout.setPadding(new Padding(5));
        layout.setVBoxLayoutAlign(VBoxLayoutAlign.LEFT);
        c.setLayout(layout);
        c.add(new Button(button1Text), new VBoxLayoutData(new Margins(0, 0, 5, 0)));
        VBoxLayoutData flex = new VBoxLayoutData(new Margins(0, 0, 5, 0));
        flex.setFlex(1);
        c.add(new Text(), flex);
        c.add(new Button(button2Text), new VBoxLayoutData(new Margins(0, 0, 5, 0)));
        c.add(new Text(), flex);
        c.add(new Button(button3Text), new VBoxLayoutData(new Margins(0, 0, 5, 0)));
        c.add(new Text(), flex);
        c.add(new Button(button4Text), new VBoxLayoutData(new Margins(0)));
        addToCenter(c);
      }
    }), vBoxData);
    lcwest.add(createToggleButton("Align: left", new Listener() {
      public void handleEvent(ButtonEvent ce) {
        if (!ce. getComponent().isPressed()) {
          return;
        }
        LayoutContainer c = new LayoutContainer();
        VBoxLayout layout = new VBoxLayout();
        layout.setPadding(new Padding(5));
        layout.setVBoxLayoutAlign(VBoxLayoutAlign.LEFT);
        c.setLayout(layout);
        c.add(new Button(button1Text), new VBoxLayoutData(new Margins(0, 0, 5, 0)));
        c.add(new Button(button2Text), new VBoxLayoutData(new Margins(0, 0, 5, 0)));
        c.add(new Button(button3Text), new VBoxLayoutData(new Margins(0, 0, 5, 0)));
        c.add(new Button(button4Text), new VBoxLayoutData(new Margins(0)));
        addToCenter(c);
      }
    }), vBoxData);
    lcwest.add(createToggleButton("Align: center", new Listener() {
      public void handleEvent(ButtonEvent ce) {
        if (!ce. getComponent().isPressed()) {
          return;
        }
        LayoutContainer c = new LayoutContainer();
        VBoxLayout layout = new VBoxLayout();
        layout.setPadding(new Padding(5));
        layout.setVBoxLayoutAlign(VBoxLayoutAlign.CENTER);
        c.setLayout(layout);
        c.add(new Button(button1Text), new VBoxLayoutData(new Margins(0, 0, 5, 0)));
        c.add(new Button(button2Text), new VBoxLayoutData(new Margins(0, 0, 5, 0)));
        c.add(new Button(button3Text), new VBoxLayoutData(new Margins(0, 0, 5, 0)));
        c.add(new Button(button4Text), new VBoxLayoutData(new Margins(0)));
        addToCenter(c);
      }
    }), vBoxData);
    lcwest.add(createToggleButton("Align: right", new Listener() {
      public void handleEvent(ButtonEvent ce) {
        if (!ce. getComponent().isPressed()) {
          return;
        }
        LayoutContainer c = new LayoutContainer();
        VBoxLayout layout = new VBoxLayout();
        layout.setPadding(new Padding(5));
        layout.setVBoxLayoutAlign(VBoxLayoutAlign.RIGHT);
        c.setLayout(layout);
        c.add(new Button(button1Text), new VBoxLayoutData(new Margins(0, 0, 5, 0)));
        c.add(new Button(button2Text), new VBoxLayoutData(new Margins(0, 0, 5, 0)));
        c.add(new Button(button3Text), new VBoxLayoutData(new Margins(0, 0, 5, 0)));
        c.add(new Button(button4Text), new VBoxLayoutData(new Margins(0)));
        addToCenter(c);
      }
    }), vBoxData);
    lcwest.add(createToggleButton("Align: stretch", new Listener() {
      public void handleEvent(ButtonEvent ce) {
        if (!ce. getComponent().isPressed()) {
          return;
        }
        LayoutContainer c = new LayoutContainer();
        VBoxLayout layout = new VBoxLayout();
        layout.setPadding(new Padding(5));
        layout.setVBoxLayoutAlign(VBoxLayoutAlign.STRETCH);
        c.setLayout(layout);
        c.add(new Button(button1Text), new VBoxLayoutData(new Margins(0, 0, 5, 0)));
        c.add(new Button(button2Text), new VBoxLayoutData(new Margins(0, 0, 5, 0)));
        c.add(new Button(button3Text), new VBoxLayoutData(new Margins(0, 0, 5, 0)));
        c.add(new Button(button4Text), new VBoxLayoutData(new Margins(0)));
        addToCenter(c);
      }
    }), vBoxData);
    lcwest.add(createToggleButton("Align: stretchmax", new Listener() {
      public void handleEvent(ButtonEvent ce) {
        if (!ce. getComponent().isPressed()) {
          return;
        }
        LayoutContainer c = new LayoutContainer();
        VBoxLayout layout = new VBoxLayout();
        layout.setPadding(new Padding(5));
        layout.setVBoxLayoutAlign(VBoxLayoutAlign.STRETCHMAX);
        c.setLayout(layout);
        c.add(new Button(button1Text), new VBoxLayoutData(new Margins(0, 0, 5, 0)));
        c.add(new Button(button2Text), new VBoxLayoutData(new Margins(0, 0, 5, 0)));
        c.add(new Button(button3Text), new VBoxLayoutData(new Margins(0, 0, 5, 0)));
        c.add(new Button(button4Text), new VBoxLayoutData(new Margins(0)));
        addToCenter(c);
      }
    }), vBoxData);
    lcwest.add(createToggleButton("Flex: All even", new Listener() {
      public void handleEvent(ButtonEvent ce) {
        if (!ce. getComponent().isPressed()) {
          return;
        }
        LayoutContainer c = new LayoutContainer();
        VBoxLayout layout = new VBoxLayout();
        layout.setPadding(new Padding(5));
        layout.setVBoxLayoutAlign(VBoxLayoutAlign.CENTER);
        c.setLayout(layout);
        VBoxLayoutData flex = new VBoxLayoutData(new Margins(0, 0, 5, 0));
        flex.setFlex(1);
        c.add(new Button(button1Text), flex);
        c.add(new Button(button2Text), flex);
        c.add(new Button(button3Text), flex);
        VBoxLayoutData flex2 = new VBoxLayoutData(new Margins(0));
        flex2.setFlex(1);
        c.add(new Button(button4Text), flex2);
        addToCenter(c);
      }
    }), vBoxData);
    lcwest.add(createToggleButton("Flex: ratio", new Listener() {
      public void handleEvent(ButtonEvent ce) {
        if (!ce. getComponent().isPressed()) {
          return;
        }
        LayoutContainer c = new LayoutContainer();
        VBoxLayout layout = new VBoxLayout();
        layout.setPadding(new Padding(5));
        layout.setVBoxLayoutAlign(VBoxLayoutAlign.CENTER);
        c.setLayout(layout);
        VBoxLayoutData flex = new VBoxLayoutData(new Margins(0, 0, 5, 0));
        flex.setFlex(1);
        c.add(new Button(button1Text), flex);
        c.add(new Button(button2Text), flex);
        c.add(new Button(button3Text), flex);
        VBoxLayoutData flex2 = new VBoxLayoutData(new Margins(0));
        flex2.setFlex(3);
        c.add(new Button(button4Text), flex2);
        addToCenter(c);
      }
    }), vBoxData);
    lcwest.add(createToggleButton("Flex + Stretch", new Listener() {
      public void handleEvent(ButtonEvent ce) {
        if (!ce. getComponent().isPressed()) {
          return;
        }
        LayoutContainer c = new LayoutContainer();
        VBoxLayout layout = new VBoxLayout();
        layout.setPadding(new Padding(5));
        layout.setVBoxLayoutAlign(VBoxLayoutAlign.STRETCH);
        c.setLayout(layout);
        VBoxLayoutData flex = new VBoxLayoutData(new Margins(0, 0, 5, 0));
        flex.setFlex(1);
        c.add(new Button(button1Text), flex);
        c.add(new Button(button2Text), flex);
        c.add(new Button(button3Text), flex);
        VBoxLayoutData flex2 = new VBoxLayoutData(new Margins(0));
        flex2.setFlex(3);
        c.add(new Button(button4Text), flex2);
        addToCenter(c);
      }
    }), vBoxData);
    lcwest.add(createToggleButton("Pack: start", new Listener() {
      public void handleEvent(ButtonEvent ce) {
        if (!ce. getComponent().isPressed()) {
          return;
        }
        LayoutContainer c = new LayoutContainer();
        VBoxLayout layout = new VBoxLayout();
        layout.setPadding(new Padding(5));
        layout.setVBoxLayoutAlign(VBoxLayoutAlign.CENTER);
        layout.setPack(BoxLayoutPack.START);
        c.setLayout(layout);
        VBoxLayoutData layoutData = new VBoxLayoutData(new Margins(0, 0, 5, 0));
        c.add(new Button(button1Text), layoutData);
        c.add(new Button(button2Text), layoutData);
        c.add(new Button(button3Text), layoutData);
        VBoxLayoutData layoutData2 = new VBoxLayoutData(new Margins(0));
        c.add(new Button(button4Text), layoutData2);
        addToCenter(c);
      }
    }), vBoxData);
    lcwest.add(createToggleButton("Pack: center", new Listener() {
      public void handleEvent(ButtonEvent ce) {
        if (!ce. getComponent().isPressed()) {
          return;
        }
        LayoutContainer c = new LayoutContainer();
        VBoxLayout layout = new VBoxLayout();
        layout.setPadding(new Padding(5));
        layout.setVBoxLayoutAlign(VBoxLayoutAlign.CENTER);
        layout.setPack(BoxLayoutPack.CENTER);
        c.setLayout(layout);
        VBoxLayoutData layoutData = new VBoxLayoutData(new Margins(0, 0, 5, 0));
        c.add(new Button(button1Text), layoutData);
        c.add(new Button(button2Text), layoutData);
        c.add(new Button(button3Text), layoutData);
        VBoxLayoutData layoutData2 = new VBoxLayoutData(new Margins(0));
        c.add(new Button(button4Text), layoutData2);
        addToCenter(c);
      }
    }), vBoxData);
    lcwest.add(createToggleButton("Pack: end", new Listener() {
      public void handleEvent(ButtonEvent ce) {
        if (!ce. getComponent().isPressed()) {
          return;
        }
        LayoutContainer c = new LayoutContainer();
        VBoxLayout layout = new VBoxLayout();
        layout.setPadding(new Padding(5));
        layout.setVBoxLayoutAlign(VBoxLayoutAlign.CENTER);
        layout.setPack(BoxLayoutPack.END);
        c.setLayout(layout);
        VBoxLayoutData layoutData = new VBoxLayoutData(new Margins(0, 0, 5, 0));
        c.add(new Button(button1Text), layoutData);
        c.add(new Button(button2Text), layoutData);
        c.add(new Button(button3Text), layoutData);
        VBoxLayoutData layoutData2 = new VBoxLayoutData(new Margins(0));
        c.add(new Button(button4Text), layoutData2);
        addToCenter(c);
      }
    }), vBoxData);
    add(panel, new FlowData(10));
  }
  private void addToCenter(LayoutContainer c) {
    lccenter.removeAll();
    lccenter.add(c);
    lccenter.layout();
  }
  private ToggleButton createToggleButton(String name, Listener l) {
    ToggleButton button = new ToggleButton(name);
    button.setToggleGroup("vboxlayoutbuttons");
    button.addListener(Events.Toggle, l);
    button.setAllowDepress(false);
    return button;
  }
}
   
  
Ext-GWT.zip( 4,297 k)