我有一个JScrollPane,其视口是JPanel。 JPanel包含占用整个视口宽度的较小JPanel,而大JPanel设置为FlowLayout。用户应该能够添加任意数量的JPanel(为了我的目的,最多可以添加200个),并且他们应该能够向下滚动JScrollPane以查看他们添加的所有内容。基本上我只是想让JScrollPane成长。我正在计算我认为JPanel的高度应该是这样的:
Dimension dimension = new Dimension(width, smallPanel.height * totalPanels
+ ((FlowLayout) getLayout()).getVGap * totalPanels);
setPreferredSize(dimension);
它主要起作用,但随着你添加更多,它开始削减较小的JPanels,最终没有显示底部面板。有没有办法可以确定视口的JPanel的大小,这样我就不必用变量来计算它的尺寸?就像pack()对JFrame一样吗?或者我需要继续猜测和检查吗?
由于