2017-02-11 46 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喜林有麻煩面板

我想,以適應表在整個灰色區域中裝配表是一個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