gpt4 book ai didi

java - 滚动条在 JPanel 中不可见

转载 作者:行者123 更新时间:2023-11-30 07:16:39 24 4
gpt4 key购买 nike

我用 Java 创建了一个 GUI,如下所示 -

'panel_mid' 是中间的白色面板。我已将它添加到名为“panel_mid_scrollpane”的滚动 Pane 中。

除了 'panel_mid' 还有更多的面板 -

  • panel_left(包含“后退”按钮)
  • panel_right(右侧可见)

enter image description here

此 gui 的相关代码是 -

    panel_mid.setBorder(grayborder);
panel_mid.setBounds(0, 0, 1100, 1060);
panel_mid.setBackground(Color.white);
panel_mid.add(obj.create_test_add_section);

panel_mid_scrollpane = new JScrollPane(panel_mid);
panel_mid_scrollpane.setLocation(150, 20);
panel_mid_scrollpane.setSize(1000, 660);
panel_mid_scrollpane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);

panel_mid 中显示的添加部分 按钮,每次单击时都会向中间面板添加一个部分。当这个按钮被多次点击时,gui 看起来像 -

enter image description here

如您所见,添加面板时滚动条不会自动出现,因此最后一个面板只有一半可见。是什么导致了这个问题?

谢谢!

最佳答案

当添加到滚动 Pane 的组件的首选大小大于滚动 Pane 的大小时,滚动条会自动出现。

您似乎在使用空布局。

//panel_mid.setBounds(0, 0, 1100, 1060);
panel_mid.setBackground(Color.white);
panel_mid.add(obj.create_test_add_section);

panel_mid_scrollpane = new JScrollPane(panel_mid);
//panel_mid_scrollpane.setLocation(150, 20);
//panel_mid_scrollpane.setSize(1000, 660);

不要将空布局与 setSize() 和 setLocation 一起使用。 Swing 旨在与布局管理器一起使用。如果您使用布局管理器,则滚动条会自动工作,并且会自动为您计算大小和位置。

Layout Mangers 上阅读 Swing 教程.

关于java - 滚动条在 JPanel 中不可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16737767/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com