java - 寻求有关布局选项的建议

标签 java layout positioning

我目前正在做一项涉及创建电梯模拟的作业。这是我目前所在的位置:elevator ui

我的工作方式是,当右侧的组合框更改时,地板线会根据面板尺寸自动重新绘制。现在棘手的部分是我只想在左侧“楼层”面板中打印楼层号码,就在楼层线的顶部。但是,我不知道该怎么做。我考虑了设置空布局并根据地板高度(我已将其保存在数组中)定位 jlabel 的想法。但我所到之处,人们都说这是一个坏主意。

那么有人可以建议一种使用布局管理器来完成此任务的方法吗?谢谢。

最佳答案

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

...首先...

enter image description here

这建议使用 BorderLayout ,将红色部分放在 BorderLayout.NORTH 中位置和绿色在BorderLayout.CENTER位置。

...下一步...

Header

header 分为(至少)两个部分,这表明 GridLayout ...

...下一步...

Body

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

...下一步...

Controls

这可能是最复杂的。从“蓝色”部分开始可能会受益于 GridLayout ,如果Number of floors标签和 JComboBox独自居住JPanel (如果您想要更多控制,可以使用 GridBagLayout) or a GridBagLayout`

red部分可能是使用 GridLayout

所有三个部分可能会用 GridBagLayout 粘合在一起。 ...

例如...

关于java - 寻求有关布局选项的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23050757/

相关文章:

CSS - 填充可用的剩余空间

css - 为什么在我的 Twitter 和 Facebook 按钮之间形成一个中断?

css - 在 Twitter Bootstrap 中定位 div 视口(viewport)的整个宽度

java - Ant java任务: Exclude certain classes from classpath jar

java - 对话+回调?

java - Odoo 请求中的 Many2Many 字段插入在 Android 中不起作用

android - javadoc中的引用资源

html - 导航 li 样式在 Chrome 或 Safari 中不呈现,在 Firefox 中正常

java - 没有名为 MyBuzzPersistence 的 EntityManager 持久性提供程序

java - 如何在不使用 collections.sort() 的情况下按字母顺序对数组列表进行排序;