2010-08-28 75 views
1

由於某種原因,我無法正常工作。它應該很簡單。帶有流線佈局的java scrollpane

我已經有一個BorderLayout,它包含一個JPanel(南)和(中心)JPanel(itemPanel)的JFrame。

itemPanel應該包裝在一個滾動窗格中。它的寬度= x,它的所有孩子都分享它的長度,所以它基本上像一個只有1列的表。

出於某種原因,我無法使滾動條顯示滾動條(和滾動條)。在JFrame中:

setPreferredSize(dimension); 
setDefaultCloseOperation(EXIT_ON_CLOSE); 
getContentPane().add("South",controlPanel); 
JScrollPane scroll = new JScrollPane(itemPanel); 
scroll.setBorder(null); 
getContentPane().add("Center",scroll); 
super.pack(); 
setVisible(true); 

Initilizing和加入一些僞板到itemPanel:

itemPanel = new ItemPanel(); // A JPanel with a flowlayout 
itemPanel.setPreferredSize(new Dimension(dimension.width,0)); 
for(int i = 0; i < 20; i++){ 
    JPanel p = new JPanel(); 
    p.setPreferredSize(new Dimension(0,50)); 
    p.setBackground(i%2 == 0 ? Color.GREEN : Color.YELLOW); 
    itemPanel.add(p); 
} 

如果省略itemPanel.setPreferredSize(new Dimension(dimension.width,0));滾動面板示出了水平滾動條,但由於的FlowLayout不具有寬度遵循它只顯示一行中的組件。

回答

7

WrapLayout可能是你在找什麼。

+0

哇,這很容易:)謝謝! 雖然我不明白這個問題,但它解決了它。 – Peter 2010-08-28 23:17:50