Nodeの複製
JavaFXで同一のNodeを複数のコンテンツとして設定しようとすると期待通りに動作しません。
var circle = Circle { centerX: 50, centerY: 50 radius: 50.0 fill: Color.AQUA } Stage { title: "Duplicator Sample" width: 500 height: 500 scene: Scene { content: [ Group { content: [circle] } Group { content: [circle], translateX: 10 } // 半ずらしで表示 ] } }
このような場合は、Nodeの複製を作る事のできるjavafx.fxd.Duplicatorを使えば解決します。
content: [ Group { content: [circle] } Group { content: [Duplicator.duplicate(circle)], translateX: 10 } // 半ずらしで表示(複製) ]
尚、当然のことですが複製されたオブジェクトは複製なので、元のNodeが変更されても変更は反映されません。