2011-08-21 13 views
0

他のJPanelを含むJPanelフォームを作成しています。これをJScrollPaneの内側に配置したいと思います。次に、JScrollPaneをタブの1つとしてJTabbedPaneに配置します。でも、私は問題を抱えている - 私のJPanelフォームがスクロール区画に置かれたとき、私はサイズ、preferredSizeが、MAXIMUMSIZEを設定しているにもかかわらず、拡大巻き取るなどJPanelフォームを展開してJScrollpaneを塗りつぶす目的を破る

+2

これは私かもしれませんが、あなたが達成しようとしているものと何を得ているのかを正確に区別するのは非常に難しいと思っています。おそらく、あなたはあなたが何をしようとしているかを実証するために、あなたが望むもの、あなたが得ているもの、そして小さなコンパイル可能なプログラムをアップロードできます。おそらく、適切なレイアウトマネージャを使用して別のJPanelに "JPanelフォーム"をネストし、この別のJPanelをJScrollpaneのビューポートビューとして追加したいと思うかもしれません。 –

+0

スクロールペインに複数のパネルを配置して起動することができる[例](http://stackoverflow.com/questions/3174765/variable-layout-in-swing/3175280#3175280)です。 – trashgod

答えて

1
public class test 
{ 

private static JFrame frame = new JFrame(); 
private static JTabbedPane pane0 = new JTabbedPane(); 
private static JScrollPane pane1 = new JScrollPane(); 
private static JPanel pane2 = new JPanel(); 
//add the rest of your JPanels here 

public static void main(String[] args) 
{ 
    frame.setSize(400,400); 
    //add all the other attributes here 
    frame.add(pane0); 
    pane0.add(pane1); 
    pane1.add(pane2); 
    //go ahead and add the rest of your panels here 
    frame.pack();//resizes the frame so that its subcomponents fit well inside. 
} 
}//this last bracket is for the class itself. Sorry i couldn't tab everything the right   //way. 

はあなたが何をしようとして、このですか?それは私があなたの質問から理解したものです。ところで、JPanelが展開している場合は、フレームのサイズも変更してください。

+2

私はフレームの 'Window'([pack()']](http://download.oracle.com/javase/6/docs/api/java/awt/Window.html#pack%28%29)を期待しています"そのサブコンポーネントの好ましいサイズとレイアウトに合わせる"。 – trashgod

+0

あなたはそうだと思います。私は私の答えを編集して編集します。入力いただきありがとうございます。 – corecase

+0

はい、かなり。私はGridLayoutマネージャーに私の問題を追跡しました。それは私が気付いていなかった事実であるすべての利用可能なスペースを満たすために拡大されます。ここで私の質問です:私は、GridLayoutマネージャで作成された他の3つのJPanelフォームを含むJPanelを作成したいと思います。しかし、スクロールバーは常に自動的に表示されるため、表示されません。 @Corecase –

関連する問題