使用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);