2010-11-22 10 views
1

JPanelmyPanelです。私は一連のJButtonを作成し、add()myPanelに作成します。私の生成・追加ループの最後に、私はmyPanel.validate()と呼んでいます。ボタンが表示されます。JPanelにadd()を実行すると、サイズが破損する

パネルのサイズに問題があります。どのレイアウトマネージャを選択しても、ボタンは常に同じ行に追加されます(その下にはスペースがあります)。

myPanelの最大サイズを設定し、そのサイズをすべてadd()の後に設定しようとしました。私が何をするにしても、その後validate()、パネルが爆破され、私のアプリケーションのGUIがねじ込まれています。

アイデア?

+0

あなたは1. setLayout()を使用しました。2. add(Componentコンポーネント、Constraint制約)に制約(GridBagLayout)を追加しましたか? –

答えて

1

私が最初にJPanelの上で適切なサイズを設定します:

myPanel.setPreferredSize(new Dimension(X, Y)); 

これは、このディメンション内内容に合わせしようとするどのようにあなたのレイアウトマネージャを教えてくれます。

あなたのソースコードを見ることなく、私はそれ以上のものを追加することはできません。

2

私は一連のJButtonを作成し、それらをmyPanelに追加します。ボタンは常に同じ行に追加されます(それらの下にはさらにスペースがあります)。

デフォルトのレイアウトマネージャーは自動ラッピングを提供していません。ラッピングをどのように行うかを指定する必要があります。これらの場合、GridLayoutまたはGridBagLayoutを使用できます。

または、この目的のために書かれたWrap Layoutを試すことができます。

関連する問題