# Interface Animation

All Known Implementing Classes:
  `Accordion, Ads, AudioRecorderComponent, AutoCompleteTextComponent, AutoCompleteTextField, BaseSpinner, BrowserComponent, BubbleTransition, Button, ButtonList, Calendar, ChartComponent, ChatBubble, ChatInput, ChatView, CheckBox, CheckBoxList, ClearableTextField, ComboBox, CommonProgressAnimations.CircleProgress, CommonProgressAnimations.EmptyAnimation, CommonProgressAnimations.LoadingTextAnimation, CommonProgressAnimations.ProgressAnimation, CommonTransitions, Component, ComponentGroup, Container, ContainerList, DateSpinner, DateTimeSpinner, DefaultListCellRenderer, Dialog, EmbeddedContainer, FileTree, FlipTransition, FloatingActionButton, FloatingHint, Form, GenericSpinner, HTMLComponent, ImageViewer, InfiniteContainer, InfiniteProgress, InputComponent, InteractionDialog, InterFormContainer, Label, LikeButton, List, MapComponent, MediaPlayer, MenuBar, MorphTransition, MultiButton, MultiList, NumericSpinner, OnOffSwitch, OtpField, PeerComponent, Picker, PickerComponent, Progress, RadioButton, RadioButtonList, RSSReader, ScaleImageButton, ScaleImageLabel, Scene, SeriesTransition, ShareButton, Sheet, SideMenuBar, SignatureComponent, Slider, SliderBridge, SpanButton, SpanLabel, SpanMultiButton, SplitPane, StickyHeaderContainer, SwipeableContainer, Switch, SwitchList, Table, Tabs, TestRunnerComponent, TextArea, TextComponent, TextComponentPassword, TextField, Timeline, TimeSpinner, Toolbar, Transition, Tree, WebBrowser, XYMultiSeriesTransition, XYSeriesTransition, XYValueSeriesTransition`

public interface Animation
Allows any object to react to events and draw an animation at a fixed interval. All animation methods are executed on the EDT. For simplicities sake all components are animatable, however no animation will appear unless it is explicitly registered into the parent form. In order to stop animation callbacks the animation must be explicitly removed from the form (notice that this differs from removing the component from the form!).

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `animate()`
  Allows the animation to reduce "repaint" calls when it returns false.
  `void`
  `paint(Graphics g)`
  Draws the animation, within a component the standard paint method would be invoked since it bares the exact same signature.

- ## Method Details

  - ### animate

    boolean animate()

    Allows the animation to reduce "repaint" calls when it returns false. It is called once for every frame. Frames are defined by the `com.codename1.ui.Display` class.

    ###### Returns

    true if a repaint is desired or false if no repaint is necessary

  - ### paint

    void paint(Graphics g)

    Draws the animation, within a component the standard paint method would be invoked since it bares the exact same signature.

    ###### Parameters

    - `g`: graphics context