我目前正在用 JavaFX 开发一个绘图应用程序以供娱乐。我目前正在将绘图面板的内容保存到图像中。应该保存在该图像中的所有节点都是一个组的子节点。我想使用场景快照方法,但我的问题是我不想对整个场景进行快照...
使用形状组创建新场景显然不是一种选择,因为一个组一次只能是一个场景图的一部分。因此,我需要一种方法来复制形状组的所有子对象,以便创建一个可以快照的新场景……有没有办法做到这一点?我应该继承 Group 类并创建一个克隆方法还是什么?我真的不知道如何继续......
听起来你想要做的是对一个组进行快照。在这种情况下,请使用节点快照方法而不是场景快照方法。您不需要克隆场景图节点树来获取它的快照。
我想到了一些东西……我使用了一个扩展 Group 的 CustomShape 类,并给它一个抽象方法 getShapeCopy。我让这个方法为 CustomRectangle 类等返回一个 Rectangle(JavaFX 节点)。这非常有效!