Java 寻求布局选项方面的建议

Java 寻求布局选项方面的建议,java,layout,positioning,Java,Layout,Positioning,我目前正在做一项任务,包括创建电梯模拟。这就是我目前所处的位置: 我的工作方式是,当右边的组合框改变时,地板线会根据面板大小自动重新绘制。现在最棘手的部分是我只想在左边的“楼层”面板中打印楼层编号,就在楼层线的顶部。然而,我不知道该怎么做。我曾想过设置一个空布局,并根据地板高度(我保存在一个数组中)定位JLabel。但无论我到哪里,人们都说这是个坏主意 那么,有人能提出一种通过布局管理器实现这一点的方法吗?谢谢 首先将UI分解为可管理的块,这将使您能够专注于每个部分的单个需求,而不会不知所措 …

我目前正在做一项任务,包括创建电梯模拟。这就是我目前所处的位置:

我的工作方式是,当右边的组合框改变时,地板线会根据面板大小自动重新绘制。现在最棘手的部分是我只想在左边的“楼层”面板中打印楼层编号,就在楼层线的顶部。然而,我不知道该怎么做。我曾想过设置一个空布局,并根据地板高度(我保存在一个数组中)定位JLabel。但无论我到哪里,人们都说这是个坏主意


那么,有人能提出一种通过布局管理器实现这一点的方法吗?谢谢

首先将UI分解为可管理的块,这将使您能够专注于每个部分的单个需求,而不会不知所措

……首先

这建议使用
BorderLayout
,将红色部分置于
BorderLayout.NORTH
位置,绿色部分置于
BorderLayout.CENTER
位置

……接下来

标题分为(至少)两部分,这将建议使用
GridLayout

……接下来

正文建议使用三个相等的列,这可以通过
GridLayout
甚至
gridbagloayout
实现,如果您需要每个列的宽度不同

。。。接下来

这可能是最复杂的。如果
楼层数
标签和
JComboBox
独立于
JPanel
(可能使用
GridBagLayout)或
GridBagLayout`如果需要更多控制,则“蓝色”部分可能会从
GridBagLayout
中受益

red
部分可能是使用
GridLayout

所有这三个部分可能都会用
GridBagLayout
粘在一起


例如…

将其分解为可管理的块,我看到可能有10个不同的面板,每个面板都有自己的布局要求…哇,谢谢你。实际上,我已经将我的布局分解为类似的面板。但肯定有一些改进,我认为会有所帮助。再次感谢。