2017-09-12 7 views
0

これはバグかどうか、またはJavaFXプログラムだけではなく、複数のグループにノードを追加しようとしています(そのうちの1つだけがシーンに追加されています)、ノードが自動的に削除される他のグループに追加すると、前のグループから削除されます。Javafxノードは1つのグループにしか存在できませんか?

これは、オブジェクトが1つのグループにしか属していないことを示すためのドキュメントが見つかりませんでした。したがって、バグかどうか疑問に思っていましたか?いくつかのグループを使ってさまざまなグループに分けてアイテムを収集し、MouseTransparency、Opacityなどの高レベルのエフェクトをオン/オフ単位でグループ全体に適用できるようにしました。 MouseTransparencyのようなものは無効になっています(したがって、もともとMouseTransparencyを持たないアイテムは、グループに追加すると便利でした)。

グループを他のグループの子として追加することができます。私は私の問題を解決するために、主に視覚的に表示されたグループの下にネストされたグループを持っていましたが、サブグループ内に含まれていればすべてを比較することができませんでした。すべてのサブグループのすべてのノードをソートするのではなく、サブグループ内でグループをソートするか、メイングループ内のグループとしてグループをソートします。

おかげ

+1

「グループ化」の「文書化されていない副作用」(編集:それは明らかに文書化されています.Jewelseaの答えを参照してください)は、あなたがしようとしていること。あなたの明記された目標のいくつか(例えば、不透明度)については、CSS疑似クラスを使用することができます。他の人にとっては(マウスの透過性のように)、あなたはできませんが、再び - 私はこれが概念的にはアウト・オブ・シーン・グラフ・グループによって達成されるとは考えていません... – Itai

+0

いくつかの場所ドキュメントの中で、例えば[こちら](http://docs.oracle.com/javase/8/javafx/api/javafx/scene/package-summary.html)および[ここ](http://docs.oracle.com/javase/8 /javafx/api/javafx/scene/Node.html)、「ノードはシーングラフに最大1回しか表示されません」と記載されています。 –

答えて

3

Nodeマニュアルを参照してください:プログラムは(ETCグループ、地域、含む)親に子ノードを追加し、そのノードが既に別の親の子である場合

またはシーンのルートである場合、ノードは元の親から自動的に(そしてサイレントに)削除されます。

+0

よかったよ、私はそれを越えてはならない。 –

関連する問題