JScrollPane 中的 JPanel 不会动态调整大小

JPanel in JScrollPane doesn't adjust size dynamically

我有一个 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,但是当组件超过其大小时它并没有变大。 (设置首选尺寸和不设置首选尺寸的问题相同)

答案:

我找到了解决方案。问题是,我设置了我稍后添加到滚动窗格内面板的面板的首选大小。

正因为如此,那些面板的尺寸被弄乱了。只是不要设置添加到面板上的组件的 PreferredSize。

我找到了解决方案。问题是,我设置了我稍后添加到滚动窗格内面板的面板的首选大小。

正因为如此,那些面板的尺寸被弄乱了。只是不要设置添加到面板上的组件的 PreferredSize。