Java 与setBounds()结合的FlowLayout

Java 与setBounds()结合的FlowLayout,java,swing,layout-manager,flowlayout,Java,Swing,Layout Manager,Flowlayout,我有一个JFrame。我使用setBounds()来确定位置和大小,但当我使用frame.setLayout(newflowlayout())时,所有组件都杂乱无章 解决方案是什么?1)setBounds()使用nullLayoutManager(setLayout(null))是不好的做法 2) 使用FlowLayout时,它会计算零部件的位置和尺寸 所以,你不能混合两种方法。检查如何使用。ok,但如何使用FlowLayout确定组件的大小和位置?//frame.setLayout(new F

我有一个
JFrame
。我使用
setBounds()
来确定位置和大小,但当我使用
frame.setLayout(newflowlayout())
时,所有组件都杂乱无章

解决方案是什么?

1)
setBounds()
使用null
LayoutManager
setLayout(null)
)是不好的做法

2) 使用
FlowLayout
时,它会计算零部件的位置和尺寸


所以,你不能混合两种方法。检查如何使用。

ok,但如何使用FlowLayout确定组件的大小和位置?//frame.setLayout(new FlowLayout());在行中逐个放置零部件。似乎您需要使用另一个
BorderLayout
gridbagloayout
。Swing GUI可能必须在不同的平台上工作,使用不同的PLAF,在不同的屏幕大小和分辨率上使用不同的字体大小默认设置。因此,它们不利于组件的精确放置。请使用布局管理器,或者也可以使用空白。“frame.setLayout(new FlowLayout())所有组件都杂乱无章。”如上所述,需要一些空白。请改为尝试
frame.setLayout(新的FlowLayout(align、hgap、vgap))
。。