JScrollPane中的JPanel不能动态调整大小。

问题描述 投票:0回答:1

我有一个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中添加了其他组件,但是当组件超过它的大小时,它并没有变大。 (设置首选大小和不设置首选大小的问题都一样)

答案:

我找到解决办法了 问题是,我设置了首选的面板大小,后来我把它添加到滚动条内的面板上。

正因为如此,这些面板的大小被弄乱了。不要设置添加到面板上的组件的首选尺寸。

java swing resize jscrollpane
1个回答
1
投票

我找到了解决方案。问题是,我设置了我后来添加到滚动面板内的面板的首选尺寸。

因此,这些面板的大小被弄乱了。只要不设置你添加到面板上的组件的首选尺寸就可以了。

© www.soinside.com 2019 - 2024. All rights reserved.