メニュー上部、グリッド左、中央に画像があるborderPaneがあります。画像がグリッドを超えるため、画像を境界線の中央と同じサイズにしたいです。
私はこれを試しました:
imageView.fitWidthProperty().bind(box.widthProperty());
ここで、imageView は画像の名前で、box は BorderPane オブジェクトです。ありがとうございます。
JavaFX Feature Request RT-21337 を参照してください。サンプル実装用のコード添付ファイルを含むImageViewPane および MediaViewPane コントロールを追加します。このコントロールは、領域で使用可能な領域に含まれるサイズを変更します。必要な動作を得るには、image の最小サイズではなくゼロを返すように、computeMinWidthとcomputeMinHeightを実装する必要がある場合もあります。ImageViewPane
ImageView
ImageViewPane
今、画像は私のグリッドを超えています
これは、現在、画像の最小サイズがBorderPaneの中央の使用可能なスペースよりも大きいためです。
BorderPane はデフォルトでそのコンテンツをクリップしません。そのため、子の最小サイズがそのスペース内に収まらない場合、子の境界が自身の境界の外に広がる可能性があります。
中央のコンテンツが境界からはみ出すのを防ぐためのいくつかの可能な代替手段:
ImageView
上記のImageViewPane
サンプルのように動的にサイズを変更します。ImageView
をScrollPaneに配置します。ImageView
。私はこれを試しました:
imageView.fitWidthProperty().bind(box.widthProperty());
提供されたコードからの私の推測では、画像を囲むボックスが動的にサイズ変更可能なある種のペインであるため、これは機能しなかったため、ボックスの最小幅は画像の幅によって決定され、その逆ではありません。