我正在研究一個包含左側JScrollPane中項目列表的小程序。JScrollPane:如何自動調整滾動中包含的JPanel的大小
用戶將能夠從這個列表中添加和刪除元素。因此
我需要創建一個滾動列表。
這部分很容易。
我通常很想做大部分手動調整圖形用戶界面的工具,但我在JScrollPane的文檔中看到,最好讓它能夠處理它而不是手動更改尺寸。
問題是我不斷添加元素,並且內部面板不會更改大小。
有什麼想法?
這裏是一些我使用的代碼: 構造:
public SideBarView(Dimension d) {
super(d);
Dimension d2 = new Dimension(100,300);
this.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
//INSIDE VIEW (zone that is being scrolled)
container = new SideBarContainer(d2);
// container.setSize(d2);
// container.setPreferredSize(d2);
// container.setMaximumSize(d2);
// container.setMinimumSize(d2);
scrollPane = new MyJScrollPane(container);
new ImageLoaderWorker(this,menuButton).execute();
Dimension d3 = new Dimension(d.width, d.height-d.width);
scrollPane.setSize(d3);
scrollPane.setMaximumSize(d3);
scrollPane.setMinimumSize(d3);
scrollPane.setPreferredSize(d3);
add(scrollPane,BorderLayout.PAGE_START);
setBorder(BorderFactory.createEmptyBorder());
}
添加到容器:
element = new JPanel();
Dimension d2 = new Dimension(100,100);
element.setSize(d2);
element.setPreferredSize(d2);
element.setMaximumSize(d2);
element.setMinimumSize(d2);
element.setBackground((panelcount++%2==0)?Color.BLUE:Color.RED);
cointainer.add(element);
任何想法,我缺少的是什麼?還是我應該隨手調整容器的尺寸?
爲了更好地提供幫助,請發佈SSCCE(http://pscode.org/sscce.html)。 – 2011-03-07 11:58:24