こんにちは皆私は内部に3つのコンポーネントを持つJFrameを持っています。Java Swing:グリッドレイアウトで1行のサイズを変更し、それを垂直方向ではなく水平方向にのみ動的にサイズ変更する方法を教えてください。
- メニュー
- Aはペイン
- 最初は私の目標は、次のようなデザインを作成することでしたいくつかのボタン
を持っているパネルのタブ:
ユーザーをアプリケーションのサイズを変更すると、すべてのサイズが変更されます。だから私は、私はシンプルなグリッドレイアウトを使用した場合、私の問題が解決されるだろう、私は次のことを行うことを決めたかもしれないと思った:
タブ付きペインには、内部のいくつかのパネルを持っていますし、これらのパネルは、グリッドレイアウトに従います。
下部のパネルはグリッドレイアウトに従います。
JFrameもグリッドレイアウトに従います。
結果:
あなたは、これは私が望んでいたものではありません見ることができるように、ボタンが大きすぎると、アプリケーションが非常によくリサイズするものの:
ボタンのサイズも変更されますが、ボタンは大きすぎます。ボタンのサイズを小さくする(より具体的にはパネルが含まれている)ようにしたいと思います。ユーザーがアプリケーションのサイズを変更すると、ボタンは垂直方向には水平にしか変形されません。つまり、タブ付きのペインが大きくなる垂直に これは達成可能ですか?私は検索し、gridbaglayoutについて知った、私は少し再生を開始したが、私は何も達成していない。私がやることをどうにかすべては以下の通りです:
良いようだが、私は、これは私が得るものであるサイズを変更する場合:事前に
感謝。
+1私は、これはあまりにも動作しますだと思います。下のパネルの 'setPreferredSize'。それはその高さを一定にします。センターパネルのサイズを設定しないでください。そうすることで、他のものはすべてサイズを維持し、ウィンドウを展開するとセンターのみが展開されます。また、下のパネルは 'FlowLayout'を使うべきです。 – davidXYZ
@davidXYZ下のパネルに優先サイズを設定する必要はありません。好ましいサイズの設定は例外です! –
@davidXYZあなたは[this](http://stackoverflow.com/questions/7229226/should-i-avoid-the-use-of-setpreferredmaximumminimumsize-methods-in-java-swi)の読書を前にしたいかもしれませんあなたはpref/max/minのサイズをつぶすようになります – MadProgrammer