将ControlsFX PopOver附加到父节点

时间:2018-03-23 16:46:12

标签: java javafx controlsfx

使用jdk 1.8.0和ControlsFX 8.20.8我在一个窗格内绘制一个圆圈,当点击圆圈时,我想要一个PopOver出现,显示有关圆圈的详细信息。所有这一切都很好,但PopOver似乎完全脱离了整个应用程序。当我将应用程序移动到后台时,PopOver甚至会停留在我的工作区之上。当我最小化应用程序窗口时,PopOver随之消失,当我取消最小化应用程序时,PopOver出现在屏幕的右下角。当我拖动窗口时,它会摇摆不定,并没有真正保持相对于窗口的位置。

我真正想要的是让PopOver保持附加到圆圈,我将其指定为PopOver.show()中的父级。这种行为非常令人困惑,因为它似乎与PopOver的记录行为相矛盾,后者实际上表示它应该保持与窗口的连接。

Circle marker = new Circle(panePosition.getX(), panePosition.getY(), 10, Color.GREEN);
PopOver popOver = new PopOver(technicalUnit);
marker.setOnMouseClicked(mouseEvent -> {
    if (popOver.isShowing())
    {
        popOver.hide();
    }
    else
    {
        popOver.show(marker);
    }
});
group.getChildren().add(marker);

0 个答案:

没有答案