JavaFXで独立したレイアウト境界を描画する
-
21-12-2019 - |
質問
単純なベクトル描画アプリは、「選択ボックス」を実装しようとしています。つまり、ノードのLayoutBoundsのグラフィック表現です。
例:
href="https://i.stack.imgur.com/kpqvb.png" rel="nofollownoreferrer">
boundsexample 、私は今すぐボックスのデータを取得する方法についてよく理解しています。私が苦労している部分は、ノード上の変換を正しく尊重するような方法で、実際にシーンの箱を描くことです。
正しくこの場合は、境界論理サイズがノードでスケーリングされるが、選択ボックスのストロークは一定に留まる。選択ボックスが対応するノードでスケーリングすることを意味しますが、ストロークは不安定になります。
そのような選択箱を実装するための2つの一般的な戦略を考えることができます。
-
カスタムノードのプロパティとして 選択ボックスは、ノード選択状態に囲まれたその可視性を持つマイカスタムノードの内部詳細です。その場合、それが可能であれば、ノードが両親の変換を無視する方法を見つける必要があります。
-
透明なペイン上のスケーリングされたノードの上にある描画選択ボックス その場合、ノードの境界への変換を適用した後、選択ボックスをスケーリングされたノードのレイアウト境界にバインドすることになります。これはJFXでは発生していないようです( 'boundsInparent'でも)
解決
判明したように、シーンビルダー自体は私が知っている最大の自由に利用可能なJavaFXプロジェクトです。それはすでに解決しています。
SceneBuilderのcom.oracle.javafx.scenebuilder.kit.editor
パッケージを検討することでソースコード私の2番目に提案されたスタートジーが行く方法であることは安心して安心しました。