Propriedades listeners do JavaFX é aplicável as propriedades do objeto (não em collections) e tem dois tipos: invalidation listeners e change listeners. Invalidation listeners ativa quando o valor da propriedade não é mais válido.
package sample;
import javafx.animation.Animation;
import javafx.animation.Interpolator;
import javafx.animation.RotateTransition;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.effect.Reflection;
import javafx.scene.layout.StackPane;
import javafx.scene.paint.Color;
import javafx.scene.shape.Ellipse;
import javafx.scene.text.Font;
import javafx.scene.text.Text;
import javafx.stage.Stage;
import javafx.util.Duration;
public class Main extends Application {
@Override
public void start(Stage stage) throws Exception {
Ellipse ellipse = new Ellipse(110, 70);
ellipse.setFill(Color.LIGHTBLUE);
Text text = new Text(“Minhas Formas”);
text.setFont(new Font(“Arial Bold”, 24));
Reflection r = new Reflection();
r.setFraction(.8);
r.setTopOffset(1.0);
text.setEffect(r);
StackPane stackPane = new StackPane();
// Define RotateTransition
RotateTransition rotate = new RotateTransition(
Duration.millis(2500), stackPane);
rotate.setToAngle(360);
rotate.setFromAngle(0);
rotate.setInterpolator(Interpolator.LINEAR);
// configure mouse click handler
stackPane.setOnMouseClicked(mouseEvent -> {
if (rotate.getStatus().equals(Animation.Status.RUNNING)) {
rotate.pause();
} else {
rotate.play();
}
});
stackPane.getChildren().addAll(ellipse, text);
Scene scene = new Scene(stackPane, 350, 230, Color.LIGHTYELLOW);
stage.setTitle(“Minhas Formas com JavaFX”);
stage.setScene(scene);
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}
No programa atual tem esse diagrama.
Vamos adicionar um segundo objeto Text dentro do layout VBox, e esse layout vai ficar abaixo do StackPane.
Fonte: The Definitive Guide to Modern Java Clients with JavaFX
Deixe um comentário