1
我正在使用JFX和JavaFX場景構建器構建預訂系統應用程序。 我認爲爲了讓它看起來更好,我可以刪除邊框,或者如代碼所示,將其設置爲「未修飾」。現在我想讓它能夠通過點擊場景並拖動它在屏幕上拖動。我嘗試了很多方法,但其中沒有一個真正起作用。 我現在可以使用一些幫助。能夠在屏幕上移動「未修飾」的應用程序窗口
預先感謝您。
我正在使用JFX和JavaFX場景構建器構建預訂系統應用程序。 我認爲爲了讓它看起來更好,我可以刪除邊框,或者如代碼所示,將其設置爲「未修飾」。現在我想讓它能夠通過點擊場景並拖動它在屏幕上拖動。我嘗試了很多方法,但其中沒有一個真正起作用。 我現在可以使用一些幫助。能夠在屏幕上移動「未修飾」的應用程序窗口
預先感謝您。
我正在使用場景生成器,這是我發現的。
使用背景窗格移動未修飾的窗口。
@FXML
private Pane pane;
@Override
public void initialize(URL url, ResourceBundle rb) {
pane.setOnMousePressed(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent t) {
//System.out.println("Pressed");
//System.out.println("Mouse : " + t.getX() + " | " + t.getY());
mouse.setX(t.getX());
mouse.setY(t.getY());
}
});
pane.setOnMouseDragged(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent t) {
//System.out.println("Dragged");
//System.out.println("Mouse : " + t.getX() + " | " + t.getY());
pane.getScene().getWindow().setX(t.getScreenX() - mouse.getX() - 14);
pane.getScene().getWindow().setY(t.getScreenY() - mouse.getY() - 14);
}
});
}
Mouse類:
public class Mouse {
private double x = 0;
private double y = 0;
public double getX() {
return x;
}
public void setX(double x) {
this.x = x;
}
public double getY() {
return y;
}
public void setY(double y) {
this.y = y;
}
}
嘗試讀取帕維爾的回答上http://stackoverflow.com/questions/16261465/mousedragged-in-javafx-determine-the-card-node-over-這是另一個節點是dragg,並認爲,如果你可以實現它,當節點 - 場景的根佈局,並在DnD手勢你使用setX,場景的Y – 2013-05-12 12:48:31
你的問題是什麼?也許,這是[如何使一個未裝飾的窗口在JavaFX中移動/拖動?](http://stackoverflow.com/a/13460743/852274)。 – pmoule 2013-05-12 13:17:13
[如何在JavaFX中創建未裝飾的窗口可移動/可拖動?](http://stackoverflow.com/questions/13206193/how-to-make-an-undecorated-window-movable-dragable-in-javafx ) – jewelsea 2013-05-12 15:20:21