我目前正在编制一个库存系统,其中包括点击“附加”'鼠标上的一个项目,然后放在其他地方。
跟踪此事件的事件:
getMainUI().setOnMouseMoved(e -> {
if (getStoredItem() != null){
getStoredItem().getImage().setLayoutY( e.getSceneY() + 30);
getStoredItem().getImage().setLayoutX( e.getSceneX() - 30);
}
});
我的项目结构是StackPane作为场景根,并添加了BorderPane(mainUI)和普通Pane(overLay)作为子项。除非鼠标进入场景中的任何Button / ToggleButton或BorderPane的右侧区域(包含库存的TabPane),否则存储的项目图像将按预期方式跟随鼠标。
通常我希望顶部有一个元素吸收事件,但UI上方唯一的节点是overLay,其pickBounds设置为false以允许用户单击UI。在这里几乎不知所措。