我有一个JScrollPane和一个JPanel。
JScrollPane scrollPane_yst = new JScrollPane();
scrollPane_yst.setBorder(null);
scrollPane_yst.setViewportBorder(null);
panel.add(scrollPane_yst);
JPanel panel_yst = new JPanel();
panel_yst.setPreferredSize(new Dimension(150, 1000));
panel_yst.setBorder(null);
panel_yst.setBackground(Color.DARK_GRAY);
scrollPane_yst.setViewportView(panel_yst);
panel_yst.setLayout(new BoxLayout(panel_yst, BoxLayout.Y_AXIS));
在运行时,我在panel_yst中添加了其他组件,但是当组件超过它的大小时,它并没有变大。 (设置首选大小和不设置首选大小的问题都一样)
答案:
我找到解决办法了 问题是,我设置了首选的面板大小,后来我把它添加到滚动条内的面板上。
正因为如此,这些面板的大小被弄乱了。不要设置添加到面板上的组件的首选尺寸。
我找到了解决方案。问题是,我设置了我后来添加到滚动面板内的面板的首选尺寸。
因此,这些面板的大小被弄乱了。只要不设置你添加到面板上的组件的首选尺寸就可以了。