1

子に適用される MiGLayout を使用してグリッドを作成しようとしています。これは、子をグリッド位置 (1,1) に挿入し、グリッドのサイズが [10%!] の場合、この子を大きくして他のセルとオーバーラップさせてはならないことを意味します。Grid セルに合わせて子を縮小する必要があります。

これは私がこれまでに持っているものです:

new MigPane("", "[5%!][20%!][5%!][65%!][5%!]", "[45%!][50%!][5%!]");

ここで、次のように、グリッド 1,1 に大きなコンポーネント (制御できない画像) を挿入します。

migPane.add(myImageView, "cell 1 1, width 100%!");

ただし、それは ImageView をまったく制限していないようです。

"myImageView" をグリッド 1,1 に配置してサイズを合わせたいことを MiGLayout に伝えるにはどうすればよいですか? 「適合」キーワードはありますか?:)

ピクセル/ポイント/mm/cm/インチで何かを指定することは、私が望むものではないことに注意してください。私のアプリは常にフルスクリーンで実行され、シームレスにスケーリングする必要があります (これは従来のフォーム アプリではなく、JavaFX を使用するビデオ システムです)。

4

1 に答える 1

0

docsによると、パーセンテージがサポートされているようです:

UI デリゲートまたは開発者が明示的にコンポーネントに設定したコンポーネントの既定のサイズをオーバーライドします。サイズは BoundSize として指定されます。説明については、上記の一般的な引数の型のセクションを参照してください。式がサポートされていることに注意してください。たとえば、「width pref+10px」でコンポーネントのサイズを設定して通常よりも 10 ピクセル大きくしたり、「width max(100, 10%)」でコンテナの 10% にしたりできます。幅ですが、最大 100 ピクセルです。

多分次のようなものを試してください: "width max(100%, 100%)".

于 2012-03-11T22:08:58.147 に答える