title: How do I detect a mouse click in JavaFX?
body: <p>So I started playing around with setting up key for different functions in my application and I was wondering is there a way to set the right/left mouse click to do something? I was not able to find any mouse events in the KeyCode.java 
  And I am not sure how to application that.</p>
  
  <p>Here is my code:</p>
  
  <pre><code>public class Exercise_31 extends Application {
  
      @Override
      public void start(Stage primaryStage) throws Exception {
  
          PendulumPane pendulumPane = new PendulumPane(500, 500);
  
          Scene scene = new Scene(pendulumPane);
          primaryStage.setTitle("Pendulum Animation");
          primaryStage.setScene(scene);
          pendulumPane.play();
          primaryStage.show();
  
  
          scene.setOnKeyPressed(e-&gt; {
              switch (e.getCode()) {
                  case UP: pendulumPane.increase(); break;
                  case DOWN: pendulumPane.decrease(); break;
                  case LEFTMOUSECLICK?  
              }
          });
  
  
      }
  
      public static void main(String[] args) {
          Application.launch(args);
      }
  
      private class PendulumPane extends Pane {
  
          private double w = 400;
          private double h;
          PathTransition bPath;
  
          Circle topC;
          Circle lowerC;
          Line line;
          Arc arc;
  
          PendulumPane(double width, double height) {
  
              w = width;
              h = height;
              setPrefWidth(w);
              setPrefHeight(h);
              arc = new Arc(w / 2, h * 0.8, w * 0.15, w * 0.15, 180, 180);
              arc.setFill(Color.TRANSPARENT);
              arc.setStroke(Color.BLACK);
  
              lowerC = new Circle(arc.getCenterX() - arc.getRadiusX(), arc.getCenterY(), 10);
              topC = new Circle(arc.getCenterX(), arc.getCenterY() - h / 2, lowerC.getRadius() / 2);
              arc = new Arc(topC.getCenterX(), topC.getCenterY(), w / 2, h / 2, 240, 60);
              line = new Line(
                      topC.getCenterX(), topC.getCenterY(),
                      lowerC.getCenterX(), lowerC.getCenterY());
  
              line.endXProperty().bind(lowerC.translateXProperty().add(lowerC.getCenterX()));
              line.endYProperty().bind(lowerC.translateYProperty().add(lowerC.getCenterY()));
              bPath = new PathTransition();
              bPath.setDuration(Duration.millis(4000));
              bPath.setPath(arc);
              bPath.setNode(lowerC);
              bPath.setOrientation(PathTransition.OrientationType.NONE);
              bPath.setCycleCount(PathTransition.INDEFINITE);
              bPath.setAutoReverse(true);
  
              getChildren().addAll(lowerC, topC,line);
  
          }
  
          public void play() {
              bPath.play();
          }
  
  
          public void increase() {
              bPath.setRate(bPath.getCurrentRate() + 1);
          }
  
          public void decrease() {
              bPath.setRate(bPath.getCurrentRate() - 1);
          }
  
          public void stop() {
              bPath.setRate(bPath.getCurrentRate() * 0);
          }
  
          public void start() {
              bPath.setRate(bPath.getCurrentRate() + 1);
          }
      }
  }
  </code></pre>
  
  <p>What I am trying to accomplish is to make right clicking your mouse button stop the movement and left clicking start it again. How would I do that? Thank you.</p>