javafx拖拽无修饰的窗体:
使用Scene对象的setOnMousePressd()和setOnMouseDragged()方法
--首先通过setOnMousePressd()获取鼠标按下时的鼠标值、窗口的坐标值;
--再使用setOnMouseDragged()方法设置鼠标/窗体拖拽后,新窗体的坐标值。
--拖拽前后鼠标坐标值差,加上原始窗体坐标值,即为拖拽的新位置
package sample;
import javafx.application.Application;
import javafx.event.EventHandler;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.input.MouseEvent;
import javafx.stage.Stage;
import javafx.stage.StageStyle;
public class Main extends Application {
private double oldStageX;
private double oldStageY;
private double oldScreenX;
private double oldScreenY;
@Override
public void start(Stage primaryStage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));
Scene scene = new Scene(root, 300, 275);
primaryStage.s