2

GridLayoutaが動的に作成されたときにJButton、フッター(つまりJLabel)がグリッドの下部に留まり、動的に作成されたボタンがフッターの真上に表示されるように、自分の中にあるアイテムを再配置する必要があります。

これは可能ですか?もしそうなら、私は例を見ることができますか?

私のグリッドは現在

new GridLayout(intIndex, 1);

ここで、intIndexは動的要素が作成されるたびに増分されます。

4

2 に答える 2

4

BorderLayoutフッターなので、フッターを下に置いて使用することをお勧めしますBorderLayout.PAGE_END。次に、コンポーネントをGridLayout中央に配置しBorderLayout.CENTERます。このように、フッターは常に下部に残り、コンテンツに干渉することはありません。これで、フッターに影響を与えることなく、任意のレイアウトマネージャーを使用するように自由に変更できます。

フッターが下部全体にまたがっている場合、これは良い修正になるはずですが、下隅にある種の小さなフッターを作成しようとしている場合は、少し難しくなりますが、どちらの方法でもお勧めしますフッターをコンテンツから分離しようとしています。

于 2011-09-14T16:33:19.543 に答える
1

一つの答えは受け入れられますが、私が追加できるものはもっとあると思います。

レイアウトには2つのインターフェースがあります:LayoutManagerLayoutManager2。2番目のものは最初のものを拡張します。したがって、すべてのレイアウトクラスはから継承されLayoutManagerます。

ここで、LayoutManager2いくつかの制約に従ってコンポーネントを配置できます。たとえば、Shakedownの回答では、BorderLayout.CENTERはの制約ですBorderLayout

ただし、これらの実装のレイアウトLayoutManagerは、特定のコンポーネントの制約を受け入れません。GridLayoutそのようなレイアウトです。左上隅からコンポーネントの追加を開始し、右に向かって進み、1行がいっぱいになると次の行に進みます。

あなたはに興味があるかもしれませんGridBagLayout

于 2011-09-15T03:41:40.123 に答える