SwingとJavaFXで、MouseClickedの発生条件が違ってました。

以下のようなコードを実行して、マウスをドラッグしてみます。

JavaFX
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.*;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
import javafx.stage.Stage;

public class JavaFXSample extends Application{

    public static void main(String... args)throws Exception{
        Application.launch(JavaFXSample.class, args);
    }

    @Override
    public void start(Stage stage) throws Exception {
        AnchorPane pane = new AnchorPane();
        pane.getChildren().add(new Rectangle(400, 400, Color.GREEN));
        Scene sc = new Scene(pane);
        stage.setScene(sc);
        pane.setOnMouseClicked(e -> System.out.println("MouseClicked"));
        pane.setOnMousePressed(e -> System.out.println("MousePressed"));
        pane.setOnMouseReleased(e -> System.out.println("MouseReleased"));
        stage.show();
    }
}
実行結果
MousePressed
MouseReleased
MouseClicked
Swing
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class SwingSample {
    public static void main(String... args)throws Exception{
        JFrame f = new JFrame();
        JPanel panel = new JPanel();
        panel.setPreferredSize(new Dimension(400, 400));
        panel.setBackground(Color.GREEN);
        panel.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent e) {
                System.out.println("MouseClicked");
            }
            @Override
            public void mousePressed(MouseEvent e) {
                System.out.println("MousePressed");
            }
            @Override
            public void mouseReleased(MouseEvent e) {
                System.out.println("MouseReleased");
            }
        });
        f.setContentPane(panel);
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setVisible(true);
        f.pack();
    }
}
実行結果
MousePressed
MouseReleased
というわけで、JavaFXではドラッグした場合でもMouseClickedが発生するのに対して、Swingでは発生しません。
これ、どっちが正しいとかあるんですかね...個人的にはSwingの挙動のほうが自然かなと思うんですけど。