我最近注意到,我致力于ControlsFX项目的PopOver控件无法正确剪切其内容。 当我为FlexCalendarFX框架开发手风琴弹出窗口时,这一点变得显而易见。 每当最后一个标题窗格扩展时,其底角不再是圆角而是正方形。 在将红色矩形作为内容放置到标题窗格后,对我很清楚我忘记添加剪辑了。 下图显示了该问题。
通常,使用JavaFX进行剪切非常容易。 它只需要一个附加节点和对setClip(node)的调用。 但是,通常此剪辑是简单的形状,例如矩形。 在PopOver情况下,剪辑必须是路径,就像用于PopOver形状的原始路径一样。 为什么要走? 因为弹出窗口在“附加”到所有者时,还具有指向所有者的箭头。 请参见下面的屏幕截图。