Java/GWT/Animation

Материал из Java эксперт
Перейти к: навигация, поиск

GWT animation: fade in and fade out

   <source lang="java">

/*

* Created on May 23, 2006
* 
* Copyright 2006, Robert Hanson
* This library is dustributed under the GNU-LGPL 2.1.
* http://creativecommons.org/licenses/LGPL/2.1/
*/

package org.hanson.gwt.widgets.client; import com.google.gwt.core.client.JavaScriptObject; import com.google.gwt.user.client.Element; import com.google.gwt.user.client.ui.Widget; /**

* Effect is a wrapper for the Scriptaculous effects JavaScript library,
* which can be found at http://script.aculo.us/.
* 
* Example of using an effect with options:
* 
*
 *   Effect.highlight(widget, new EffectOption[]{
 *       new EffectOption("startcolor", "#ff0000")
 *   });
 * 
* 
* Example of using an effect with no options:
* 
*
 *   Effect.fade(widget);
 * 
*
* Example of using an effect on a specific element id:
* 
*
 *   Effect.switchOff(RootPanel.get("leftNav"));
 * 
* 
* You must reference the Scriptaculous JavaScript code in your HTML
* page to be able to use the wrapper.  Failure to do so will result in 
* error messages similar to this, ""$wnd.Effect.Fade" is null or not an object".
* 
*
 
 *  <script type="text/javascript" src="script/prototype.js"></script>
 *  <script type="text/javascript" src="script/scriptaculous.js"></script>
 * 
* 
* You will also need to add the gwt-widgets jar file to your project classpath, 
* and add the following reference in your .gwt.xml file:
* 
*
 *  <inherits name="org.hanson.gwt.widgets.WidgetLibrary"/>
 * 
*  
* @author Robert Hanson <iamroberthanson[at]gmail.ru> http://roberthanson.blogspot.ru
*/

public class Effect {

   public static void appear (Widget widget) {
       appear(widget.getElement(), null);
   }
   public static void appear (Widget widget, EffectOption[] opts) {
       appear(widget.getElement(), buildOptions(opts));
   }
   private native static void appear (Element element, JavaScriptObject opts) /*-{
       new $wnd.Effect.Appear(element, opts);
   }-*/;


   public static void blindDown (Widget widget) {
       blindDown(widget.getElement(), null);
   }
   public static void blindDown (Widget widget, EffectOption[] opts) {
       blindDown(widget.getElement(), buildOptions(opts));
   }
   private native static void blindDown (Element element, JavaScriptObject opts) /*-{
       new $wnd.Effect.BlindDown(element, opts);
   }-*/;


   public static void blindUp (Widget widget) {
       blindUp(widget.getElement(), createJsObject());
   }
   public static void blindUp (Widget widget, EffectOption[] opts) {
       blindUp(widget.getElement(), buildOptions(opts));
   }
   private native static void blindUp (Element element, JavaScriptObject opts) /*-{
       new $wnd.Effect.BlindUp(element, opts);
   }-*/;


   public static void dropOut (Widget widget) {
       dropOut(widget.getElement(), null);
   }
   public static void dropOut (Widget widget, EffectOption[] opts) {
       dropOut(widget.getElement(), buildOptions(opts));
   }
   private native static void dropOut (Element element, JavaScriptObject opts) /*-{
       new $wnd.Effect.DropOut(element, opts);
   }-*/;


   public static void fade (Widget widget) {
       fade(widget.getElement(), null);
   }
   public static void fade (Widget widget, EffectOption[] opts) {
       fade(widget.getElement(), buildOptions(opts));
   }
   private native static void fade (Element element, JavaScriptObject opts) /*-{
       new $wnd.Effect.Fade(element, opts);
   }-*/;


   public static void fold (Widget widget) {
       fold(widget.getElement(), null);
   }
   public static void fold (Widget widget, EffectOption[] opts) {
       fold(widget.getElement(), buildOptions(opts));
   }
   private native static void fold (Element element, JavaScriptObject opts) /*-{
       new $wnd.Effect.Fold(element, opts);
   }-*/;


   public static void grow (Widget widget) {
       grow(widget.getElement(), null);
   }
   public static void grow (Widget widget, EffectOption[] opts) {
       grow(widget.getElement(), buildOptions(opts));
   }
   private native static void grow (Element element, JavaScriptObject opts) /*-{
       new $wnd.Effect.Grow(element, opts);
   }-*/;


   public static void highlight (Widget widget) {
       highlight(widget.getElement(), null);
   }
   public static void highlight (Widget widget, EffectOption[] opts) {
       highlight(widget.getElement(), buildOptions(opts));
   }
   private native static void highlight (Element element, JavaScriptObject opts) /*-{
       new $wnd.Effect.Highlight(element, opts);
   }-*/;


   public static void keepFixed (Widget widget) {
       keepFixed(widget.getElement(), null);
   }
   public static void keepFixed (Widget widget, EffectOption[] opts) {
       keepFixed(widget.getElement(), buildOptions(opts));
   }
   private native static void keepFixed (Element element, JavaScriptObject opts) /*-{
       new $wnd.Effect.KeepFixed(element, opts);
   }-*/;


   public static void move (Widget widget) {
       move(widget.getElement(), null);
   }
   public static void move (Widget widget, EffectOption[] opts) {
       move(widget.getElement(), buildOptions(opts));
   }
   private native static void move (Element element, JavaScriptObject opts) /*-{
       new $wnd.Effect.Move(element, opts);
   }-*/;


   public static void moveBy (Widget widget) {
       moveBy(widget.getElement(), null);
   }
   public static void moveBy (Widget widget, EffectOption[] opts) {
       moveBy(widget.getElement(), buildOptions(opts));
   }
   private native static void moveBy (Element element, JavaScriptObject opts) /*-{
       new $wnd.Effect.MoveBy(element, opts);
   }-*/;


   public static void opacity (Widget widget) {
       opacity(widget.getElement(), null);
   }
   public static void opacity (Widget widget, EffectOption[] opts) {
       opacity(widget.getElement(), buildOptions(opts));
   }
   private native static void opacity (Element element, JavaScriptObject opts) /*-{
       new $wnd.Effect.Opacity(element, opts);
   }-*/;


   public static void parallel (Widget widget) {
       parallel(widget.getElement(), null);
   }
   public static void parallel (Widget widget, EffectOption[] opts) {
       parallel(widget.getElement(), buildOptions(opts));
   }
   private native static void parallel (Element element, JavaScriptObject opts) /*-{
       new $wnd.Effect.Parallel(element, opts);
   }-*/;


   public static void puff (Widget widget) {
       puff(widget.getElement(), null);
   }
   public static void puff (Widget widget, EffectOption[] opts) {
       puff(widget.getElement(), buildOptions(opts));
   }
   private native static void puff (Element element, JavaScriptObject opts) /*-{
       new $wnd.Effect.Puff(element, opts);
   }-*/;


   public static void pulsate (Widget widget) {
       pulsate(widget.getElement(), null);
   }
   public static void pulsate (Widget widget, EffectOption[] opts) {
       pulsate(widget.getElement(), buildOptions(opts));
   }
   private native static void pulsate (Element element, JavaScriptObject opts) /*-{
       new $wnd.Effect.Pulsate(element, opts);
   }-*/;


   public static void scale (Widget widget) {
       scale(widget.getElement(), null);
   }
   public static void scale (Widget widget, EffectOption[] opts) {
       scale(widget.getElement(), buildOptions(opts));
   }
   private native static void scale (Element element, JavaScriptObject opts) /*-{
       new $wnd.Effect.Scale(element, opts);
   }-*/;


   public static void scrollTo (Widget widget) {
       scrollTo(widget.getElement(), null);
   }
   public static void scrollTo (Widget widget, EffectOption[] opts) {
       scrollTo(widget.getElement(), buildOptions(opts));
   }
   private native static void scrollTo (Element element, JavaScriptObject opts) /*-{
       new $wnd.Effect.ScrollTo(element, opts);
   }-*/;


   public static void shake (Widget widget) {
       shake(widget.getElement(), null);
   }
   public static void shake (Widget widget, EffectOption[] opts) {
       shake(widget.getElement(), buildOptions(opts));
   }
   private native static void shake (Element element, JavaScriptObject opts) /*-{
       new $wnd.Effect.Shake(element, opts);
   }-*/;


   public static void shrink (Widget widget) {
       shrink(widget.getElement(), null);
   }
   public static void shrink (Widget widget, EffectOption[] opts) {
       shrink(widget.getElement(), buildOptions(opts));
   }
   private native static void shrink (Element element, JavaScriptObject opts) /*-{
       new $wnd.Effect.Shrink(element, opts);
   }-*/;


   public static void slideDown (Widget widget) {
       slideDown(widget.getElement(), null);
   }
   public static void slideDown (Widget widget, EffectOption[] opts) {
       slideDown(widget.getElement(), buildOptions(opts));
   }
   private native static void slideDown (Element element, JavaScriptObject opts) /*-{
       new $wnd.Effect.SlideDown(element, opts);
   }-*/;


   public static void slideUp (Widget widget) {
       slideUp(widget.getElement(), null);
   }
   public static void slideUp (Widget widget, EffectOption[] opts) {
       slideUp(widget.getElement(), buildOptions(opts));
   }
   private native static void slideUp (Element element, JavaScriptObject opts) /*-{
       new $wnd.Effect.SlideUp(element, opts);
   }-*/;


   public static void squish (Widget widget) {
       squish(widget.getElement(), null);
   }
   public static void squish (Widget widget, EffectOption[] opts) {
       squish(widget.getElement(), buildOptions(opts));
   }
   private native static void squish (Element element, JavaScriptObject opts) /*-{
       new $wnd.Effect.Squish(element, opts);
   }-*/;


   public static void switchOff (Widget widget) {
       switchOff(widget.getElement(), null);
   }
   public static void switchOff (Widget widget, EffectOption[] opts) {
       switchOff(widget.getElement(), buildOptions(opts));
   }
   private native static void switchOff (Element element, JavaScriptObject opts) /*-{
       new $wnd.Effect.SwitchOff(element, opts);
   }-*/;


   private static JavaScriptObject buildOptions (EffectOption[] opts) {
       JavaScriptObject jso = createJsObject();
       for (int i = 0; i < opts.length; i++) {
           addOption(jso, opts[i].getName(), opts[i].getValue());
       }
       return jso;
   }
   private static native void addOption (JavaScriptObject jso, String name, String value) /*-{
       jso[name] = value;
   }-*/;
   private static native JavaScriptObject createJsObject () /*-{
       return new Object();
   }-*/;

}


      </source>