Java、JFC、Swing

Java、JFC、Swing,java,swing,Java,Swing,我在JscrollPane上遇到了问题。尝试在一行中添加几个按钮,然后继续使用一组行,最初显示效果很好,但当我单击滚动条时,所有按钮都会有一种文字环绕在框架中的感觉。我想使用setBounds(没有任何布局),因为我必须根据元素的数量扩展/减少行 我做错了什么 图片如下: } ,但只要我点击滚动条,所有的按钮都会被包装在框架中 面板将在您开始滚动时重新验证),这将导致调用布局管理器,然后布局管理器将确定所有组件的大小和位置。JPanel的默认布局管理器是FlowLayout,因此当当前行已满时,

我在JscrollPane上遇到了问题。尝试在一行中添加几个按钮,然后继续使用一组行,最初显示效果很好,但当我单击滚动条时,所有按钮都会有一种文字环绕在框架中的感觉。我想使用setBounds(没有任何布局),因为我必须根据元素的数量扩展/减少行

我做错了什么

图片如下:

}

,但只要我点击滚动条,所有的按钮都会被包装在框架中

面板将在您开始滚动时重新验证),这将导致调用布局管理器,然后布局管理器将确定所有组件的大小和位置。
JPanel
的默认布局管理器是
FlowLayout
,因此当当前行已满时,组件将换行到新行

不要试图使用setBounds(…)。相反,您可以按照设计的使用方式使用布局管理器

我想使用setBounds(没有任何布局),因为我必须根据元素的数量扩展/减少行

这不是不使用布局管理器的原因

例如,您可能有一个带有垂直
BoxLayout
的主面板。然后,每次需要添加一行组件时,都会创建一个子面板,该子面板使用
FlowLayout
。将零部件添加到子面板,然后将子面板添加到主面板

然后滚动条和滚动窗格将正常工作

container.setPreferredSize(new Dimension(1200, 800));
不要试图控制面板的首选尺寸。布局管理器的工作也是如此。滚动窗格无法使用人为的首选大小正常工作

,但只要我点击滚动条,所有的按钮都会被包装在框架中

面板将在您开始滚动时重新验证),这将导致调用布局管理器,然后布局管理器将确定所有组件的大小和位置。
JPanel
的默认布局管理器是
FlowLayout
,因此当当前行已满时,组件将换行到新行

不要试图使用setBounds(…)。相反,您可以按照设计的使用方式使用布局管理器

我想使用setBounds(没有任何布局),因为我必须根据元素的数量扩展/减少行

这不是不使用布局管理器的原因

例如,您可能有一个带有垂直
BoxLayout
的主面板。然后,每次需要添加一行组件时,都会创建一个子面板,该子面板使用
FlowLayout
。将零部件添加到子面板,然后将子面板添加到主面板

然后滚动条和滚动窗格将正常工作

container.setPreferredSize(new Dimension(1200, 800));

不要试图控制面板的首选尺寸。布局管理器的工作也是如此。滚动窗格无法使用人为的首选大小正常工作

欢迎来到SO。你的标题没有任何暗示,这就是标签的意义所在。请使用更具体的内容进行编辑。欢迎使用SO。你的标题没有任何暗示,这就是标签的意义所在。请用更具体的内容编辑它。