私が理解している限り、JavaFX でノードを複製するには、このDuplicator.duplicate
関数を使用する必要があります。
たとえば、型が JavaFX ライブラリに含まれているノードを複製する場合は、正常に機能します。
def dup = Duplicator.duplicate(Rectangle{x:30 y:30 width:100 height:100});
dup.translateX = 10;
insert dup into content;
シーンに黒い四角形を挿入します。
ただし、次の方法で新しいクラスを定義すると:
class MyRect extends Rectangle {}
または
class MyRect extends CustomNode {
override function create() {Rectangle{x:30 y:30 width:10 height:10}}
}
次のランタイムエラーが表示されます
Type 'javafxapplication1.NumberGrid$MyRect' not found.
もちろん、クラスが含まれjavafxapplication1.NumberGrid
ているパッケージとファイルはどこにありますか。MyRect
Sun のフォーラムのこの人も同じ問題を抱えていましたが、そこには何の回答もありません。
それとも、間違った方法でやっているのかもしれません。カスタム ノードを複製するためのより良い方法はありますか?
更新:複製しようとするとGroup
うまくいきましたが、複製しようとするStack
と同じエラーが発生します。
ドキュメントによると、 をFXD
含むでサポートされているすべてのタイプをサポートするはずですが、の子孫のNode
一部しかサポートしていないのでしょうか?Node