でそれらを追加することを心配する必要はありませんものを決定したい
JavaFXは、Parentノードのchildrenを最初から最後までペイントして、最後のノードが最初のノードにペイントされるように、Painter's algorithmを使用します。
これは、immediate modeではなく、pulseごとにretained modeで行われます。したがって、JavaFXグラフィックスシステムへのロジックの制御を放棄するまで、項目はペイントされません。つまり、アイテムをシーングラフに追加してから、シーングラフ内で希望通りに並べ替えたり移動したりすることができます。
JavaFXでの3DペインティングでもZ-bufferingを使用できますが、この回答は、Zバッファなしの同じZ座標値を持つ要素の2Dペイントに関するものです。親の子リストにノードを追加することにより、ノード
用塗料の順序を設定する方法
、あなたはGroup親またはPane親に自分のノードを配置することができます。ノードは、子リストに追加した順にペイントされます。
CSSを使用したい場合はウィンドウが有効です。それ以外の場合は、通常はグループが行います。また、ペインにはサイズ変更可能な範囲があり、グループには適用されません。これらの理由から、私は通常、グループの上にペインを使用することを好みます。
子供が描かれる順序を変更するには、ノードを子供リスト内の所定の位置に移動します。
たとえば、次のコードは、親ウィンドウの子リスト内の最初および第五項目のペイント順序を変更します:
またCollections.swap(parentPane.getChildren(), 0, 4)
、Nodeは、ノードを移動するtoFrontとtoBack便利なメソッドを持っていますノードの親の子リストの前または後ろ。レイアウトペインの使用状況に関する
アドバイス
明示的に位置したいノードを保持するため、このようなStackPaneなどのレイアウトペインを使用しないでください。StackPaneなどの管理されたレイアウトペインは、レイアウトペインの内部アルゴリズムに従って、自動的にノードのレイアウトを処理するように設計されています。たとえば、デフォルトでは、StackPaneに追加するすべてのノードがStackPaneの中央に配置されます。
関連
これを見[Zオーダー(https://stackoverflow.com/questions/2988196/z-order-in-javafx)。 'Pane'または' Group'に 'Node'sを追加し、その位置を設定するだけで仕事をするべきです。すべての 'Node'を中心にして重なり合わせたい場合は' Node'sの全てを 'StackPane'に追加してください。 – Sedrick
ポストa [mcve] .. – user1803551