这是在某个大佬帖子上看到的,暂时放这里。
支持原创,感谢分享!
转载自:https://bbs.csdn.net/topics/392149093
package application;
import javafx.application.Application;
import javafx.event.EventHandler;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.input.MouseEvent;
import javafx.stage.Stage;
public class test extends Application{
double x1;
double y1;
double x_stage;
double y_stage;
public void start(Stage stage){
Group root = new Group();
Scene scene = new Scene(root, 100, 100);
stage.setScene(scene);
stage.show();
scene.setOnMouseDragged(new EventHandler<MouseEvent>() {
@Override public void handle(MouseEvent m) {
//计算
stage.setX(x_stage + m.getScreenX() - x1);
stage.setY(y_stage + m.getScreenY() - y1);
}
});
scene.setOnDragEntered(null);
scene.setOnMousePressed(new EventHandler<MouseEvent>() {
@Override public void handle(MouseEvent m) {
//按下鼠标后,记录当前鼠标的坐标
x1 =m.getScreenX();
y1 =m.getScreenY();
x_stage = stage.getX();
y_stage = stage.getY();
}
});
}
public static void main(String[] args) {
launch();
}
}