2017-02-11 103 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