我正在研究一个包含左侧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