2
我正在绘制各种Rectangle节点,我希望能够在屏幕上拖动。ScalaFX/JavaFX Node.translateX/Y在BorderPane中不服从
我的代码是目前这样的:
stage = new Stage {
scene = new Scene(1100, 700) {
root = new BorderPane {
center = new Group() {
fill = Color(0.22, 0.22, 0.22, 1.0)
children = List(
new Rectangle with Draggable {
x = 100.0
y = 100.0
width = 80.0
height = 50.0
arcWidth = 7.5
arcHeight = 7.5
fill = Color(0.15, 0.15, 0.15, 1.0)
onMousePressed = (event: MouseEvent) => {
draggablePerformPress(event)
}
onMouseDragged = (event: MouseEvent) => {
draggablePerformDrag(event)
}
}
)
}
}.delegate
}
}
可拖动性状提供draggablePerformPress()和draggablePerformDrag()的方法,这基本上是其中平移X和translateY被设置。
如果我点击并拖动矩形节点,它不会移动。但是,如果我删除了BorderPane并将Group对象设置为场景的根目录,然后拖动作品。我已经确认onMouse事件正在被触发,所以一定是由于某种原因,BorderPane重写了translateX/Y ...我只是不知道为什么,我不知道如何防止这种情况发生。