2012-11-28 138 views
5

我有一個JList裏面的JScrollPane被放置在一個JPanel(BorderLayout.CENTER)並把它放入另一個JPanel的BorderLayout.EAST(這個JPanel的CENTER包含另一個JPanel),這整個JPanel被放置在一個JTabbedPane的。最初,它是這樣的: Initial JList GUI防止JList自動調整大小

現在我一些書添加到列表:

JList with some books in it

如果我去另一個選項卡,然後回來,出現這種情況:

Resized JList

我不明白的是,包含JList的JPanel有其最小和最大尺寸集合:

JPanel listPanel = new JPanel(); 
listPanel.setLayout(new BorderLayout()); 
listPanel.add(new JScrollPane(bookList), BorderLayout.CENTER); 
listPanel.setMinimumSize(listPanel.getPreferredSize()); 
listPanel.setMaximumSize(listPanel.getPreferredSize()); 
checkOutPanel.add(listPanel, BorderLayout.EAST); 

如何防止JList自動調整大小?

回答