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