Class FlatAnimatedLafChange

java.lang.Object
com.formdev.flatlaf.extras.FlatAnimatedLafChange

public class FlatAnimatedLafChange extends Object
Animated look and feel changing.

Invoke showSnapshot() before setting look and feel and hideSnapshotWithAnimation() after updating UI. E.g.

 FlatAnimatedLafChange.showSnapshot();
 UIManager.setLookAndFeel( lafClassName );
 FlatLaf.updateUI();
 FlatAnimatedLafChange.hideSnapshotWithAnimation();
 
  • Field Details

    • duration

      public static int duration
      The duration of the animation in milliseconds. Default is 160 ms.
    • resolution

      public static int resolution
      The resolution of the animation in milliseconds. Default is 30 ms.
    • animator

      private static Animator animator
    • oldUIsnapshots

      private static final Map<JLayeredPane,JComponent> oldUIsnapshots
    • newUIsnapshots

      private static final Map<JLayeredPane,JComponent> newUIsnapshots
    • alpha

      private static float alpha
    • inShowSnapshot

      private static boolean inShowSnapshot
  • Constructor Details

    • FlatAnimatedLafChange

      public FlatAnimatedLafChange()
  • Method Details

    • showSnapshot

      public static void showSnapshot()
      Create a snapshot of the old UI and shows it on top of the UI. Invoke before setting new look and feel.
    • showSnapshot

      private static void showSnapshot(boolean useAlpha, Map<JLayeredPane,JComponent> map)
    • hideSnapshotWithAnimation

      public static void hideSnapshotWithAnimation()
      Starts an animation that shows the snapshot (created by showSnapshot()) with a decreasing alpha. At the end, the snapshot is removed and the new UI is shown. Invoke after updating UI.
    • hideSnapshot

      private static void hideSnapshot()
    • hideSnapshot

      private static void hideSnapshot(Map<JLayeredPane,JComponent> map)
    • stop

      public static void stop()
      Stops a running animation (if any) and hides the snapshot.