[WIP] CFV Refactor
[deliverable/tracecompass.git] / tmf / org.eclipse.tracecompass.tmf.ui / src / org / eclipse / tracecompass / internal / provisional / tmf / ui / views / timegraph2 / swtjfx / examples / ExampleMouseDrag.java
1 package org.eclipse.tracecompass.internal.provisional.tmf.ui.views.timegraph2.swtjfx.examples;
2
3 import org.eclipse.jdt.annotation.Nullable;
4
5 import javafx.application.Application;
6 import javafx.event.EventHandler;
7 import javafx.scene.Cursor;
8 import javafx.scene.Group;
9 import javafx.scene.Scene;
10 import javafx.scene.input.MouseEvent;
11 import javafx.scene.paint.Color;
12 import javafx.scene.shape.Circle;
13 import javafx.stage.Stage;
14
15 /**
16 * @web http://java-buddy.blogspot.com/
17 */
18 public class ExampleMouseDrag extends Application {
19
20 private double orgSceneX, orgSceneY;
21 private double orgTranslateX, orgTranslateY;
22
23 @Override
24 public void start(@Nullable Stage primaryStage) {
25 if (primaryStage == null) {
26 return;
27 }
28
29 //Create Circles
30 Circle circleRed = new Circle(50.0, Color.RED);
31 circleRed.setCursor(Cursor.HAND);
32 circleRed.setOnMousePressed(circleOnMousePressedEventHandler);
33 circleRed.setOnMouseDragged(circleOnMouseDraggedEventHandler);
34
35 Circle circleGreen = new Circle(50.0, Color.GREEN);
36 circleGreen.setCursor(Cursor.MOVE);
37 circleGreen.setCenterX(150);
38 circleGreen.setCenterY(150);
39 circleGreen.setOnMousePressed(circleOnMousePressedEventHandler);
40 circleGreen.setOnMouseDragged(circleOnMouseDraggedEventHandler);
41
42 Circle circleBlue = new Circle(50.0, Color.BLUE);
43 circleBlue.setCursor(Cursor.CROSSHAIR);
44 circleBlue.setTranslateX(300);
45 circleBlue.setTranslateY(100);
46 circleBlue.setOnMousePressed(circleOnMousePressedEventHandler);
47 circleBlue.setOnMouseDragged(circleOnMouseDraggedEventHandler);
48
49 Group root = new Group();
50 root.getChildren().addAll(circleRed, circleGreen, circleBlue);
51
52 primaryStage.setResizable(false);
53 primaryStage.setScene(new Scene(root, 400,350));
54
55 primaryStage.setTitle("java-buddy");
56 primaryStage.show();
57 }
58
59 public static void main(String[] args) {
60 launch(args);
61 }
62
63 private EventHandler<MouseEvent> circleOnMousePressedEventHandler = new EventHandler<MouseEvent>() {
64 @Override
65 public void handle(MouseEvent t) {
66 orgSceneX = t.getSceneX();
67 orgSceneY = t.getSceneY();
68 orgTranslateX = ((Circle)(t.getSource())).getTranslateX();
69 orgTranslateY = ((Circle)(t.getSource())).getTranslateY();
70 }
71 };
72
73 private EventHandler<MouseEvent> circleOnMouseDraggedEventHandler = new EventHandler<MouseEvent>() {
74 @Override
75 public void handle(MouseEvent t) {
76 double offsetX = t.getSceneX() - orgSceneX;
77 double offsetY = t.getSceneY() - orgSceneY;
78 double newTranslateX = orgTranslateX + offsetX;
79 double newTranslateY = orgTranslateY + offsetY;
80
81 ((Circle)(t.getSource())).setTranslateX(newTranslateX);
82 ((Circle)(t.getSource())).setTranslateY(newTranslateY);
83 }
84 };
85 }
This page took 0.034164 seconds and 5 git commands to generate.