3

JComponentの幅を300以下にする必要がありますが、高さは可変にする必要があります (の内容によって異なります) JComponent

まず、使ってみた

myComponent.setMaximumSize(300, 9999);

しかし、このメソッドにはまったく効果がなく、コンポーネントはその内容に応じて展開されることがわかりました (少なくとも効果は見られません)。

それから私は使用しようとしました

myComponent.setPreferredSize(300, (int)myComponent.getPreferredSize().getHeight());

次に、幅が 300 になり、300 以上になります。これは完全ではありませんが、許容範囲です。しかし、現在、コンポーネントのコンテンツが変更されても、サイズは変更されません! これは受け入れられません。

優先幅のみに影響を与え、高さを「デフォルト」のままにする方法を見つけようとしましたが、その方法を見つけることができませんでした。

高さを 0 または -1 に設定しようとしましたが、効果はありません。

それを達成する方法は?


UPD: 写真を見てください: http://goo.gl/3Hp59 それは私が既に実装したものですが、私は を使用setPreferredSize()しました。

正しい方法を見つけるのを手伝ってください:

現在、私は使用していますGridBagLayout。右の列の幅を <= 300 にする必要があります (そして、左の列は <= 200 とします) を使用してそれを達成する方法GridBagLayout、または代わりにどのレイアウトを使用する必要がありますか?

4

2 に答える 2

3

GroupLayoutを使用します。サイジングに最適なコントロールがいくつかあります。GroupLayout は少し威圧的に見えるかもしれませんが、提供されている例は優れています。ユーザーが画面のサイズを変更できるようにする場合に特に便利です。

于 2013-01-07T18:33:12.977 に答える
3
于 2013-01-07T16:13:51.247 に答える