堆栈中的JavaFx窗格未响应MouseTransparent或PickOnBounds

堆栈中的JavaFx窗格未响应MouseTransparent或PickOnBounds,java,javafx,mouseclick-event,Java,Javafx,Mouseclick Event,我有一个SplitPane和一个Pane在一个堆栈中。窗格位于堆栈中的SplitPane下方,中间的SplitPane是透明的锚烷。我的意图是,当我单击中心窗格区域内的某个位置时,在基础窗格上绘制一个圆圈来触发事件,但我无法通过单击窗格来触发事件 (编辑:此鼠标事件应该来自窗格,而不是主播,因为我还需要绘制的形状来响应单击。) 我在这里读过关于这方面的帖子,大多数解决方案包括捕鼠器和PickOnBounds。我尝试过中央锚烷、标签子对象和需要绘制圆圈的底层窗格上的所有属性的组合,但都无济于事。欢

我有一个SplitPane和一个Pane在一个堆栈中。窗格位于堆栈中的SplitPane下方,中间的SplitPane是透明的锚烷。我的意图是,当我单击中心窗格区域内的某个位置时,在基础窗格上绘制一个圆圈来触发事件,但我无法通过单击窗格来触发事件

(编辑:此鼠标事件应该来自窗格,而不是主播,因为我还需要绘制的形状来响应单击。)

我在这里读过关于这方面的帖子,大多数解决方案包括捕鼠器和PickOnBounds。我尝试过中央锚烷、标签子对象和需要绘制圆圈的底层窗格上的所有属性的组合,但都无济于事。欢迎任何帮助!:)

以下是场景生成器中物理布局和层次的两个图像。蓝色显示的是底层窗格。它是可见的,因为中心锚烷是透明的

更新:当使用类似鼠标的e进入/退出中心定位窗格时,可以对前景分割窗格使用setMouseTransparent(真/假)。G这:

控制器类:

package sample;

import javafx.fxml.FXML;
import javafx.scene.control.SplitPane;
import javafx.scene.layout.Pane;
import javafx.scene.paint.Color;
import javafx.scene.shape.Ellipse;

public class Controller {

    @FXML
    private Pane
            backgroundPane;
    @FXML
    private SplitPane
            foregroundSplitPane;

    @FXML
    public void handleBackgroundPaneOnMouseClick() {
        // Create and add an ellipse:
        Ellipse ellipse = new Ellipse();
        ellipse.setRadiusX(50);
        ellipse.setRadiusY(50);
        ellipse.setFill(Color.BLACK);
        ellipse.setLayoutX((backgroundPane.getWidth() / 2));
        ellipse.setLayoutY((backgroundPane.getHeight() / 2));
        backgroundPane.getChildren().add(ellipse);
    }

    @FXML
    public void handleCenterAnchorPaneOnMouseEntered() {
        foregroundSplitPane.setMouseTransparent(true);
    }

    @FXML
    public void handleCenterAnchorPaneOnMouseExited() {
        foregroundSplitPane.setMouseTransparent(false);
    }
}
FXML文件:



是的,这是可行的,但我意识到我最初的问题不太清楚。我尝试的是让位于下方的窗格成为检测单击的窗格。现在它正被中间的锚烷堵住。我可以让anchorpane在窗格中绘制项目,但这会有点麻烦。很抱歉理解错误。我做了一个更新。现在能用了吗?你希望它怎么用?谢谢!鼠标悬停透明似乎是一个公平的方法。我要试试看!