如何强制JScrollPane仅垂直滚动?
2022-09-04 01:00:29
伙计们,我需要在jscrollpanel中放置一些按钮,但是JScrollPane不会垂直创建滚动。我在JScrollPane中使用了一个JPanel,它使用简单的FlowLayout布局。我怎样才能使JScrollPanel只在垂直方向上滚动?
问题:
期望的解决方案:
伙计们,我需要在jscrollpanel中放置一些按钮,但是JScrollPane不会垂直创建滚动。我在JScrollPane中使用了一个JPanel,它使用简单的FlowLayout布局。我怎样才能使JScrollPanel只在垂直方向上滚动?
问题:
期望的解决方案:
使用JScrollPane
的事实改变了很多关于内部FlowLayout
的事情。实际上,当 FlowLayout 尝试布局包含 JButtons 时,它会使用可用空间。在你的情况下,你对JScrollPane的“可滚动客户端”中的空间没有限制。因此,考虑到 FlowLayout 具有无限空间,它会根据此空间显示项目。
因此,解决方案是更改可滚动客户端,以将其可视区域限制为与JScrollPane的JViewport
相同。
但是,在这种情况下,您甚至不会有行返回,因为FlowLayout不能很好地处理这种情况。
如果我是你,我当然会选择其他布局。由于不能很好地处理边框,我认为您可以使用的唯一合理的标准布局是,尽管我担心您的动态内容约束可能需要您更可定制的东西。GridLayout
GridBagLayout