定义一个scrollpane 里面放gridpane gridpane里放stackpane 现在需要点击除stackpane以外的空白处就行操作 但是无论在哪个pane里添加事件 点空白处都没有反应 界面如下

定义一个scrollpane 里面放gridpane gridpane里放stackpane 现在需要点击除stackpane以外的空白处就行操作 但是无论在哪个pane里添加事件 点空白处都没有反应 界面如下

关注让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言问题分析: 要在GridPane中的StackPane以外的空白区域添加单击事件,需要对ScrollPane,GridPane,以及StackPane都添加事件监听器,并且在事件中检查点击的位置是否在StackPane以外的区域。 解决方案:
ScrollPane scrollPane = new ScrollPane();
GridPane gridPane = new GridPane();
StackPane stackPane = new StackPane();
// 设置GridPane和StackPane的属性和子节点
...
// 在ScrollPane中添加GridPane
scrollPane.setContent(gridPane);
// 给ScrollPane添加鼠标点击事件监听器
scrollPane.setOnMouseClicked(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
double mouseX = event.getX();
double mouseY = event.getY();
Bounds stackBounds = stackPane.getBoundsInParent();
if (!stackBounds.contains(mouseX, mouseY)) {
// 在StackPane以外的区域点击了鼠标
// 执行需要的操作
...
}
}
});
这样就可以在GridPane中的StackPane以外的区域添加鼠标单击事件了。