A library of +70 ready-to-use animations for JavaFX

Overview

Build Status License Bintray javadoc Join the chat at https://gitter.im/AnimateFX/Lobby

AnimateFX

A library of ready-to-use animations for JavaFX

Features:

  • Custom animations
  • Custom interpolators
  • Play/Stop animation
  • Play an animation after another
  • More to come

Installation

Gradle

dependencies {
compile 'io.github.typhon0:AnimateFX:1.2.2'
}

Maven

<dependency>
  <groupId>io.github.typhon0</groupId>
  <artifactId>AnimateFX</artifactId>
  <version>1.2.2</version>
  <type>pom</type>
</dependency>

Snapshot

Gradle

repositories {
	maven { url 'https://oss.jfrog.org/artifactory/oss-snapshot-local' }
}

dependencies {
    compile('group.id:animatefx:1.2.2-SNAPSHOT')
}

Maven

 <repositories>
 	<repository>
            <id>snapshots</id>
            <name>libs-snapshot</name>
            <url>https://oss.jfrog.org/artifactory/libs-snapshot</url>
        </repository>
    </repositories>

 <dependencies>
        <dependency>
            <groupId>io.github.typhon0</groupId>
            <artifactId>AnimateFX</artifactId>
            <version>1.2.2-SNAPSHOT</version>
        </dependency>
 </dependencies>

Quick start

Basic

Text text = new Text("AnimateFX");
new Bounce(text).play();

Play an animation after another

    Text text = new Text("AnimateFX");
    public void HandleAnimation(ActionEvent actionEvent) {
      new Bounce(text).setPlayOnFinished(new BounceIn(text)).play();
      }

Contributing

Please see CONTRIBUTING.md for more information.

Credits

Animations are inspired from the awesome project Animate.css

Comments
  • Version 1.2.2 mixes javafx versions

    Version 1.2.2 mixes javafx versions

    Description

    I upgraded this dependency with maven from version 1.2.1 to 1.2.2 and noticed that it adds javafx 17 dependencies to the project. Here are pictures displaying the used dependencies in eclipse: With 1.2.1: https://www.dropbox.com/s/tz57vfr8xbzwnz6/2022-05-28_00-20.png?dl=0 With 1.2.2: https://www.dropbox.com/s/075r8twx6qh57iy/2022-05-28_00-22.png?dl=0

    To be exact: It changes javafx-base from javafx-base-18-linux.jar to javafx-base-17-linux.jar and adds javafx-web-17-linux.jar, because I don't use javafx-web.

    This results that at startup of the application I get the following warning because of this: Mai 28, 2022 12:31:16 AM javafx.fxml.FXMLLoader$ValueElement processValue WARNUNG: Loading FXML document with JavaFX API of version 18 by JavaFX runtime of version 17 Mai 28, 2022 12:31:17 AM javafx.fxml.FXMLLoader$ValueElement processValue WARNUNG: Loading FXML document with JavaFX API of version 18 by JavaFX runtime of version 17

    Then I checked the AnimateFX on mvnrepository (https://mvnrepository.com/artifact/io.github.typhon0/AnimateFX/1.2.2) and saw that it added javafx 17 dependencies as runtime dependencies. In contrast version 1.2.1 doesn't specify any dependencies.

    Reproduces how often: always

    System Information (please complete the following information):

    • OS: Arch Linux
    • Java Version: OpenJDK 18
    • Version: 1.2.2
    • Maven 3.8.4
    opened by 41zu 4
  • Stop method doesn't reset the node to its default position

    Stop method doesn't reset the node to its default position

    Description

    I'm trying to animate a field using methods onKeyPressed, onKeyTyped and onKeyReleased so that whenever the entered value is invalid or wrongly typed, it basically starts an animation indicating that you're making an error, but once the entered value is valid i basically call the stop method to end the animation but sometimes it stops the field in a different position than the his initial postion. i looked if there's another method that do reset the field to its initial postion but found none.

    enhancement 
    opened by averroes96 3
  • added option to run events after animation

    added option to run events after animation

    Added a feature that allows to run events after an animation timeline is done. This way I can use

    AnimationFX animationFX = new SlideOutRight(GLOBALS.getRootPane().getChildren().get(0));
    animationFX.setOnFinished(event -> {
        GLOBALS.getRootPane().getChildren().clear();
      });
    animationFX.play();
    

    So after the animation is played and the root pane is out of the screen I can remove it. This is just one example.

    opened by OguzcanKarakoc 3
  • Add partial animation

    Add partial animation "Expand" and "Contract", which can be used together

    for example like this:

    nodeObj.setOnMouseEntered(e -> new Expand((Node) e.getSource()).play());
    nodeObj.setOnMouseExited(e -> new Contract((Node) e.getSource()).play());
    

    it is also posible to set the beginScale and endScale:

    nodeObj.setOnMouseEntered(e -> new Expand((Node) e.getSource()).setEndScale(1.2).play());
    nodeObj.setOnMouseExited(e -> new Contract((Node) e.getSource()).setBeginScale(1.2).play());
    

    I also created a new sub package "animatefx.animation.partial", but for that to work I had to increase the method visibility of resetNode and initTimeline, which also means that now every class can extend AnimationFX, which is not a bad change in my opinion.

    Internally in the classes of Expand and Contract I had to resort to a few workarounds to support the setBeginScale and setEndScale methods, but they are documented in the classes themself.

    opened by 41zu 2
  • Docs/getting started?

    Docs/getting started?

    I know you have JavaDocs, but it would be really handy if there were some docs on basic usage or a quick example project in action. I know I could flail around with an IDE for a few hours and figure it out, but having a quick reference would be really nice.

    Having a few samples or the like on the GitHub pages site would be awesome https://realm.io/docs/java/latest/#samples

    If there was also a set of all of the "classes" like animate.css has in their README, that would also be super helpful! https://github.com/daneden/animate.css

    question 
    opened by DarrienG 2
  • Glow text

    Glow text

    New animation that changes the color of a Labeled node, alternating between two colors ("glow"). In the demo project I have added a button and changed the demo Text to a Label (Text nodes don't have a textFill); all the preexisting animation work as before, of course.

    opened by negste 2
  • Add entry to JFXCentral?

    Add entry to JFXCentral?

    Would be great if this project could be added to the JFXCentral website via the jfxcentral-data GitHub repository: https://github.com/dlemmermann/jfxcentral-data

    opened by dlemmermann 1
  • mantain CornerRadii and Insets for the glowing background

    mantain CornerRadii and Insets for the glowing background

    The glowing background attempts to use the same CornerRadii and Insets of the node; if the node has a Background with more than one BackgroundFill, then the Radii and Insets of the last of its BackgroundFills are used.

    opened by negste 1
  • New release with subclassing support

    New release with subclassing support

    I see that since 874f4d3d68f5e2a447df1d7f144bb3c37ab36c6d we can define our custom AnimationFX subclasses. Is it possible to have a new release with this feature included in it? Thanks.

    opened by iamgio 0
  • Improve GRADLE build Performance

    Improve GRADLE build Performance

    Process forking options. Gradle will run all tests in a single forked VM by default. This can be problematic if there are a lot of tests or some very memory-hungry ones. We can fork a new test VM after a certain number of tests have run by setting forkEvery.

    ===================== If there are any inappropriate modifications in this PR, please give me a reply and I will change them.

    enhancement 
    opened by shisheng-1 0
  • Added a github action that will test the build on each push

    Added a github action that will test the build on each push

    On each push ./gradlew build will be executed on Ubuntu 18.04, latest MacOS and latest Windows using JDK 11 and 15. I thought you might want to give it a try because it doesn't hurt :)

    opened by HanSolo 0
  • Omission of module-info descriptor/Automatic-Module-Name entry in the manifest file means gradle does not put dependency on module path

    Omission of module-info descriptor/Automatic-Module-Name entry in the manifest file means gradle does not put dependency on module path

    Gradle build hits runtime error.

    Please see StackOverflow question here for full annotated explanation: https://stackoverflow.com/questions/70137886/why-do-i-get-a-runtime-error-when-trying-to-use-and-run-external-library-animate

    In particular please note the discussion in the StackOverflow comments section of the post. Essentially: Gradle only adds dependencies to the module-path if they have a module-info descriptor or if they have an Automatic-Module-Name entry in the manifest file. The AnimateFX library has neither, and so Gradle does not put the dependency on the module-path. I'm not sure if there's a way around this problem while keeping your code modular, which is a need.

    System Information

    • OS: Windows 10
    • Java Version 16.0.2 JDK 16 Default
    • Gradle version 7.3
    opened by strudelPie 1
  • The website doesnt exists

    The website doesnt exists

    Description

    I can't open the site of this project, 404 Not Found.

    Steps to Reproduce

    Go on the site https://Typhon0.github.io/AnimateFX

    System Information (please complete the following information):

    • OS: Kubuntu 20.04
    • Java Version Not necessary
    • Version Not necessary
    enhancement 
    opened by BenHerbst 1
  • Pulse not working on Linux Touch Screen

    Pulse not working on Linux Touch Screen

    Just a bug report:

    You cant use Pulse on an Icon or Image on Linux - at least on an Linux All In One Touchscreen PC.

    It shows then when the animation should play it just disappears/glitches.

    Faded~

    bug help wanted 
    opened by yesIamFaded 3
Owner
Loïc Sculier
Junior Analyst Developer at Deloitte Luxembourg
Loïc Sculier
:ocean: Implicit animations for JavaFX

animated animated introduces implicit animations, a completely new concept in JavaFX strongly inspired by Flutter's animations and motion widgets. Ind

Giorgio Garofalo 110 Dec 29, 2022
A powerful 🚀 Android chart view / graph view library, supporting line- bar- pie- radar- bubble- and candlestick charts as well as scaling, panning and animations.

⚡ A powerful & easy to use chart library for Android ⚡ Charts is the iOS version of this library Table of Contents Quick Start Gradle Maven Documentat

Philipp Jahoda 36k Jan 9, 2023
Tray Icon implementation for JavaFX applications. Say goodbye to using AWT's SystemTray icon, instead use a JavaFX Tray Icon.

FXTrayIcon Library intended for use in JavaFX applications that makes adding a System Tray icon easier. The FXTrayIcon class handles all the messy AWT

Dustin Redmond 248 Dec 30, 2022
Lib-Tile is a multi Maven project written in JavaFX and NetBeans IDE 8 and provides the functionalities to use and handle easily Tiles in your JavaFX application.

Lib-Tile Intention Lib-Tile is a multi Maven project written in JavaFX and NetBeans IDE and provides the functionalities to use and handle easily Tile

Peter Rogge 13 Apr 13, 2022
A Java Animations.

Java Animations What is this? Animations is java util which can you help animate with some animation types. What i can do with it? You can use some de

Hogoshi 28 Dec 22, 2022
Provides a Java API to use the JavaScript library d3.js with the JavaFx WebView

javafx-d3 Provides a Java API for using the JavaScript library d3.js with JavaFx Applications. Many thanks to the authors of the projects gwt-d3 [1] a

null 98 Dec 19, 2022
DataFX - is a JavaFX frameworks that provides additional features to create MVC based applications in JavaFX by providing routing and a context for CDI.

What you’ve stumbled upon here is a project that intends to make retrieving, massaging, populating, viewing, and editing data in JavaFX UI controls ea

Guigarage 110 Dec 29, 2022
A JavaFX library that allows Java2D code (Graphics2D) to be used to draw to a Canvas node.

FXGraphics2D Version 2.1, 3 October 2020. Overview FXGraphics2D is a free implementation of Java's Graphics2D API that targets the JavaFX Canvas. It m

David Gilbert 184 Dec 31, 2022
A library for JavaFX that gives you the ability to show progress on the Windows taskbar.

A clean and easy way to implement this amazing native Windows taskbar-progressbar functionality in javaFX Background Since Windows 7 there is a taskba

Daniel Gyoerffy 77 Nov 28, 2022
A JavaFX 3D Visualization and Component Library

FXyz3D FXyz3D Core: FXyz3D Client: FXyz3D Importers: A JavaFX 3D Visualization and Component Library How to build The project is managed by gradle. To

null 16 Aug 23, 2020
A library for creating and editing graph-like diagrams in JavaFX.

Graph Editor A library for creating and editing graph-like diagrams in JavaFX. This project is a fork of tesis-dynaware/graph-editor 1.3.1, which is n

Steffen 125 Jan 1, 2023
Kubed - A port of the popular Javascript library D3.js to Kotlin/JavaFX.

Kubed: A Kotlin DSL for data visualization Kubed is a data visualization DSL embedded within the Kotlin programming language. Kubed facilitates the cr

Brian Hudson 71 Dec 28, 2022
A 3D chart library for Java applications (JavaFX, Swing or server-side).

Orson Charts (C)opyright 2013-2020, by Object Refinery Limited. All rights reserved. Version 2.0, 15 March 2020. Overview Orson Charts is a 3D chart l

David Gilbert 96 Sep 27, 2022
A JavaFX library containing tiles that can be used for dashboards.

TilesFX A JavaFX library containing tiles for Dashboards. Donations are welcome at Paypal Intro The Tile is a simple JavaFX Control that comes with di

Gerrit Grunwald 1.3k Dec 30, 2022
Flow Visualization Library for JavaFX and VRL-Studio

VWorkflows Interactive flow/graph visualization for building domain specific visual programming environments. Provides UI bindings for JavaFX. See htt

Michael Hoffer 274 Dec 29, 2022
A Javafx Library for building MVC Applications.

A JavaFx Library For Making MVC Type Desktop Applications Installation requires Java jdk > 7 for windows requres openjdk-7 or 8 and openjfx for linux

Obi Uchenna David 38 Apr 30, 2022
RXControls is a JavaFX custom component library.

RXControls RXControls Version 8.x.y need javafx8 RXControls Version 11.x.y need javafx11+ 一个javafx的自定义组件库, 密码可见组件, 轮播图组件, 动态按钮组件等, 音频频谱可视化组件,歌词组件 等...

null 164 Jan 1, 2023
A JavaFX library that contains different kind of charts

Charts A library for scientific charts in JavaFX. This is still a work in development, but here are some of the charts being worked on so far. The cha

Gerrit Grunwald 497 Jan 2, 2023
A 2D chart library for Java applications (JavaFX, Swing or server-side).

JFreeChart Version 2.0.0, not yet released. Overview JFreeChart is a comprehensive free chart library for the Java(tm) platform that can be used on th

David Gilbert 946 Jan 5, 2023