【问题标题】:Seeking advice on layout options寻求有关布局选项的建议
【发布时间】:2014-04-14 10:40:26
【问题描述】:

我目前正在执行一项涉及创建电梯模拟的任务。这是我目前所在的位置:

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

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

【问题讨论】:

  • 将其分解为可管理的块,我看到可能有 10 个不同的面板,每个面板都有自己的布局要求...

标签: java layout positioning


【解决方案1】:

首先将您的 UI 分解为可管理的块,这样您就可以专注于每个部分的个别需求,而不会不知所措...

...开始...

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

...下一个...

标题被分成(至少)两个部分,这表明GridLayout...

...下一个...

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

...下一步...

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

red 部分可能是使用GridLayout

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

例如...

【讨论】:

  • 哇,谢谢。实际上,我已经将我的布局分成了与此类似的面板。但肯定有一些改进,我认为会有所帮助。再次感谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多