io.github.palexdev.mfxeffects.beans.AnimationsData Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of materialfx-all Show documentation
Show all versions of materialfx-all Show documentation
Material Design/Modern components for JavaFX, now packed as a single Jar
The newest version!
/*
* Copyright (C) 2023 Parisi Alessandro - [email protected]
* This file is part of MaterialFX (https://github.com/palexdev/MaterialFX)
*
* MaterialFX is free software: you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
* as published by the Free Software Foundation; either version 3 of the License,
* or (at your option) any later version.
*
* MaterialFX is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with MaterialFX. If not, see .
*/
package io.github.palexdev.mfxeffects.beans;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Node;
import javafx.util.Duration;
/**
* Simple immutable bean that has a node reference, a duration for the animation and
* an action to perform when the animation ends.
*/
public class AnimationsData {
//================================================================================
// Properties
//================================================================================
private final Node node;
private final Duration duration;
private final EventHandler onFinished;
//================================================================================
// Constructors
//================================================================================
public AnimationsData(Node node, Duration duration, EventHandler onFinished) {
this.node = node;
this.duration = duration;
this.onFinished = onFinished;
}
//================================================================================
// Methods
//================================================================================
public Node getNode() {
return node;
}
public Duration getDuration() {
return duration;
}
public EventHandler getOnFinished() {
return onFinished;
}
//================================================================================
// Static Methods
//================================================================================
/**
* Builds a new AnimationsData object with the given node and duration, the action is set to null.
*/
public static AnimationsData of(Node node, Duration duration) {
return of(node, duration, null);
}
/**
* Builds a new AnimationsData object with the given node and duration and action.
*/
public static AnimationsData of(Node node, Duration duration, EventHandler onFinished) {
return new AnimationsData(node, duration, onFinished);
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy