質問

Zオーダーを設定するにはどうすればよいですか VBox Javafxで?

役に立ちましたか?

解決

JavafxのZオーダーは、実際にはシーングラフの順序です。シーンのコンテンツシーケンス(次に、グループ、コンテナなどのコンテンツで)。

すべてのノードには、この順序の変更に役立つtofront()およびtoback()機能もあります。より細かい制御のために、1つの場所からノードを削除し、シーケンスでより高くまたは低挿入する必要があります。

他のヒント

tofront()とtoback()関数を使用すると、実際にzオーダーに影響を与えることができますが、これもレイアウトに影響することに注意してください。たとえば、HboxとVboxは子供のシーケンスを使用してレイアウトを実行し、何かを前面に移動すると、[HV]ボックスの端に移動します。これはあなたが探しているものではないかもしれません。

レイアウトを台無しにすることなく、他のすべてのアニメーションノードを使用してアニメーションを行う方法を探していました。 Zオーダーとレイアウトの順序はどちらも子供のオーダーから取られているため、それを行う方法はないようです。

他の答えはまだ正しいものの、Javafx 9は、子供リストを変更せずにZオーダーを操作する方法を追加しました。これはで行われます Node.viewOrder 財産。

Javadoc:

これのレンダリングとピッキング順序を定義します Node その親の中。

このプロパティは、親の順序を並べ替えることなく、親の中のノードのレンダリングとピッキング順序を変更するために使用されます children リスト。たとえば、これは、透明性ソートを実装するためのより効率的な方法として使用できます。これを行うには、アプリケーションが割り当てることができます viewOrder そのノードとビューアーの間の計算された距離への各ノードの値。

親はそれを横断します children 減少する viewOrder 注文。これは、低い子供を意味します viewOrder 高い子供の前にいるでしょう viewOrder. 。 2人の子供が同じ場合 viewOrder, 、親は親の順にそれらを通過します children リスト。

でも、 viewOrder このレイアウトを変更せず、これのトラバーサル順序に焦点を合わせることはありません Node その親の中。親は常にそれを横断します children レイアウトまたはフォーカストラバーサルを実行するときの順序でリストします。

デフォルト値:

0.0

以来:

9

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top