JavaFX协调混淆

时间:2015-05-25 13:26:57

标签: java javafx javafx-8

我对JavaFX中不同的坐标概念感到困惑。

据我所知,有三种类型的坐标:

  • getBoundsInLocal
  • getBoundsInParent
  • localToScene

给定一个节点"节点",由一个Group" group"包含,由Scene" scene"递归包含,什么是坐标"节点"到" group"和"节点"到#34;场景"?我应该使用哪种方法来设置和修改坐标?

还有一个问题,对于像Polygon这样的对象,在创建输入坐标所需的多边形时。我应该输入什么坐标?此时的坐标属于哪个层次结构?

很抱歉提出这个简单的问题,但我花了将近一天时间搜索JavaFX文档并且没有得到答案。我需要更多解释。有没有文件介绍这些概念?非常感谢!

2 个答案:

答案 0 :(得分:2)

API docs for the Node class对此进行了解释。基本上是:

  • boundsInLocal是自己坐标空间中的节点边界(在应用缩放和旋转等变换之前)。
  • boundsInParent是其父坐标空间中的节点边界(并且在应用了变换之后)。
  • localToScenelocalToScreen是可以在Scene或Screen的坐标空间中为您提供Node的边界的方法。

答案 1 :(得分:1)

.parent attribute描述了差异。你应该看看Node documentation,它对理解JavaFX中的布局边界有很大帮助。

多边形是jewelsea's demo。你在本地添加坐标,i。即0/0是Shape内部的坐标0/0。可以使用Shape(和Y)和setLayoutX(和Y)方法将形状本身放置在场景中。