在JavaFX中绘制变换独立的布局边界

时间:2014-02-26 16:57:47

标签: selection scaling vector-graphics javafx-8 affinetransform

对于一个简单的矢量绘图应用程序,我希望实现一个“选择框”,它是一个节点的layoutBounds的图形表示。

示例:

example http://i61.tinypic.com/ou4p3t.png

感谢jewelsea和他的BoundsExample,我现在已经很好地理解了如何获取盒子的数据。我正在努力的部分实际上是在场景中绘制框,以正确尊重节点上的转换的方式。

在这种情况下,正确地表示边界逻辑大小与节点缩放,但选择框的笔划保持不变。这意味着选择框与其对应的节点缩放,但笔划保持不缩放。

我可以想到实现这样一个选择框的两个一般策略。

  1. 作为我的自定义节点的属性 选择框可以是我的自定义节点的内部详细信息,其可见性绑定到节点选定状态。在这种情况下,如果可能的话,我需要找到一种让节点IGNORE父节点转换的方法。

  2. 在透明窗格上的缩放节点顶部绘制选择框 在这种情况下,在将节点的变换应用到其边界之后,我将选择框绑定到缩放节点的布局边界。这似乎不会发生在JFX中(即使对于'boundsInParent'),因为您可以通过在~122中对'group'应用一些缩放来快速测试exampleLink to modified example with scaling

  3. 由于我是JFX的新手,我想征求意见。希望你发现这个问题很有意思:))

    最好的问候,奥利弗。

1 个答案:

答案 0 :(得分:0)

事实证明,SceneBuilder本身是我所知道的最大的免费JavaFX项目,已经解决了这个精确的问题。

通过研究SceneBuilder的com.oracle.javafx.scenebuilder.kit.editorsource code,我得到了保证,我的第二个提议就是要走的路。