2017-02-11 7 views
-1
table1.setPreferredSize(new Dimension(800,500)); 

JScrollPane pt = new JScrollPane(); 
pt.setViewportView(t); 
pt.setSize(800, 500); 

JPanel x = new JPanel();     
x.add(pt); 
x.setBackground(Color.decode("#323232")); 

x.setSize(800, 500); 

frame1[enter image description here][1].add(x); 
frame1.setVisible(true); 

enter image description hereこんにちはImはトラブルパネル

にJScrollPaneの内部にある表をフィッティングを持つ私は、全体の灰色の領域にテーブルに合うようにしたいです。任意のアイデアをどのように行うには?

答えて

2
table1.setPreferredSize(new Dimension(800,500)); 

推奨サイズをハードコードしないでください。

あなたは使用してサイズをお勧めすることができます:

table.setPreferredScrollableViewportSize(table.getPreferredSize()); 

を次にスクロール区画の大きさは、表の推奨サイズになります。

pt.setSize(800, 500); 
... 
x.setSize(800, 500); 

setSize()は使用しないでください。レイアウトマネージャは、レイアウトマネージャのルールに基づいてサイズを決定します。

フレームのサイズが変更されたときにテーブルを拡大/縮小する場合は、 パネルでBorderLayoutを使用する必要があります。次に、スクロールペインをパネルに追加するだけで、スクロールペインとテーブルが拡大/縮小されて使用可能なスペースを埋めるようになります。

フレームにスクロールペインを直接追加するだけです。フレームの内容ペインにはすでにBorderLayoutが使用されています。

基本的な問題は、フレーム上のパネルのネスト方法です。

+0

ありがとう@camickr – Tabz

+0

@Tabz、うれしかった。チェックマークをクリックして回答を「受け入れる」ことを忘れないでください。人々は問題が解決されたことを知ります。 – camickr