예제 #1
0
  public Canvas getViewPanel() {

    Canvas canvas = new Canvas();

    final Label label = new Label(EXAMPLE_TEXT);
    label.setWidth(250);
    label.setPadding(10);
    label.setLeft(160);
    label.setTop(20);
    label.setBackgroundColor("white");
    label.setBorder("1px solid #c0c0c0");
    label.setCanDragReposition(true);
    label.setShowShadow(true);
    label.setShadowSoftness(10);
    label.setShadowOffset(5);
    label.setKeepInParentRect(true);

    final Slider softness = new Slider("Softness");
    softness.setMinValue(1);
    softness.setMaxValue(10);
    softness.setNumValues(11);
    softness.setShowRange(false);
    softness.setLabelWidth(20);
    softness.setValue(10);
    softness.addDrawHandler(
        new DrawHandler() {
          public void onDraw(DrawEvent event) {
            softness.addValueChangedHandler(
                new ValueChangedHandler() {
                  public void onValueChanged(ValueChangedEvent event) {
                    label.setShadowSoftness(event.getValue());
                    label.updateShadow();
                  }
                });
          }
        });

    final Slider offset = new Slider("Offset");
    offset.setMinValue(0);
    offset.setMaxValue(20);
    offset.setNumValues(21);
    offset.setShowRange(false);
    offset.setLabelWidth(20);
    offset.setLeft(60);
    offset.setValue(5);

    offset.addDrawHandler(
        new DrawHandler() {
          public void onDraw(DrawEvent event) {
            offset.addValueChangedHandler(
                new ValueChangedHandler() {
                  public void onValueChanged(ValueChangedEvent event) {
                    label.setShadowOffset(event.getValue());
                    label.updateShadow();
                  }
                });
          }
        });

    canvas.addChild(softness);
    canvas.addChild(offset);
    canvas.addChild(label);

    return canvas;
  }