1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
| package javafx_path;import javafx.animation.PathTransition;import javafx.animation.PathTransitionBuilder;import javafx.application.Application;import javafx.event.EventHandler;import javafx.scene.Group;import javafx.scene.Scene;import javafx.scene.image.Image;import javafx.scene.image.ImageView;import javafx.scene.input.MouseEvent;import javafx.scene.paint.Color;import javafx.scene.shape.LineTo;import javafx.scene.shape.MoveTo;import javafx.scene.shape.Path;import javafx.stage.Stage;import javafx.util.Duration;/** * */public class JavaFX_Path extends Application { PathTransition pathTransition; /** * @param args the command line arguments */ public static void main(String[] args) { launch(args); } @Override public void start(Stage primaryStage) { primaryStage.setTitle("java-buddy.blogspot.com"); Group root = new Group(); Scene scene = new Scene(root, 400, 300, Color.WHITE); final Image image1 = new Image(getClass().getResourceAsStream("duke_44x80.png")); final ImageView imageView = new ImageView(); imageView.setImage(image1); final Path path = new Path(); path.setStrokeWidth(1); path.setStroke(Color.BLACK); //Mouse button pressed - clear path and start from the current X, Y. scene.onMousePressedProperty().set(new EventHandler<MouseEvent>(){ @Override public void handle(MouseEvent event) { path.getElements().clear(); path.getElements().add(new MoveTo(event.getX(), event.getY())); } }); //Mouse dragged - add current point. scene.onMouseDraggedProperty().set(new EventHandler<MouseEvent>(){ @Override public void handle(MouseEvent event) { path.getElements().add(new LineTo(event.getX(), event.getY())); } }); //Mouse button released, finish path. scene.onMouseReleasedProperty().set(new EventHandler<MouseEvent>(){ @Override public void handle(MouseEvent event) { pathTransition = PathTransitionBuilder.create() .node(imageView) .path(path) .duration(Duration.millis(5000)) .orientation(PathTransition.OrientationType.ORTHOGONAL_TO_TANGENT) .cycleCount(1) .build(); pathTransition.play(); } }); root.getChildren().add(imageView); root.getChildren().add(path); primaryStage.setScene(scene); primaryStage.show(); }} |
"Learning gives Creativity,Creativity leads to Thinking, Thinking provides Knowledge, Knowledge makes you Great"
Thursday, 21 November 2013
JavaFX 2.0: Transition along dynamic path
Labels:
javafx
Subscribe to:
Post Comments (Atom)
RELATED POSTS
No comments:
Post a Comment