これを行うには、BoxLayoutを使用することができます。もちろん
JPanel verticalPane = new JPanel();
verticalPane.setLayout(new BoxLayout(verticalPane, BoxLayout.Y_AXIS));
JScrollPane pane = new JScrollPane(verticalPane);
//add what you want to verticalPane
verticalPane.add(new JButton("foo"));
verticalPane.add(new JButton("bar"));
これを追加した各コンポーネントの推奨サイズを使用します。あなたはJPanelの例のための推奨サイズを変更したい場合は、それを拡張してのgetPreferredSizeをオーバーライドします。
class MyPanel extends JPanel(){
public Dimension getPreferredSize(){
return new Dimension(100,100);
}
}
注:BoxLayoutはないかもしれない他のLayoutManager、考慮のgetPreferredSizeになります。
私の答えを批判してください、私はそれが完全に正しいとは確信していません、私は問題を理解したかどうかを知るために異議を聞くことが好奇心です。
「1から本当に大きな数字」はいくつかの論理があります – mKorbel
いくつかのより良い数字を追加しました:私の悪い英語を許してください。 – Rogach
です。ない。つかいます。 setXXSize。代わりに適切なLayoutManagerを使用してください – kleopatra