【问题标题】:Alignment using GroupLayout使用 GroupLayout 对齐
【发布时间】:2015-09-13 00:59:00
【问题描述】:

我无法在面板中对齐组件。

目前,它看起来像这样:

|系统...电源|

|燃料…………|

|(滑块)........|

|去.....................|

我希望它看起来像这样(燃料、滑块和全部水平对齐在中间):

|系统...电源|

|........燃料.........|

|.......(滑块)...... |

|........去......... |

(请原谅我这些示例的混乱布局,我没有发布图片的声誉)

布局对应的代码是这样的:]

layout.setVerticalGroup(
            layout.createSequentialGroup()
            .addGroup(layout.createParallelGroup()
                    .addComponent(systems_box)
                    .addComponent(fuelamount)   
                    .addComponent(power_box))
            .addComponent(fuel_input)
            .addComponent(gobutton)     
    );

    layout.setHorizontalGroup(
            layout.createSequentialGroup()
            .addComponent(systems_box)
            .addGroup(layout.createParallelGroup(GroupLayout.Alignment.CENTER)
                    .addComponent(fuelamount)
                    .addComponent(fuel_input)
                    .addComponent(gobutton))
            .addComponent(power_box)
    );

我想知道是否可以使用 GroupLayout 让它看起来像我想要的那样?我也不想只在燃料组件的每一端都有系统和电源,因为它是一个相当长的组件。

提前致谢:)

【问题讨论】:

  • 是netbeans的现成代码吗?
  • 恕我直言,如果您是手动编码,请避免使用 GroupLayout,使用 MigLayout 或 GridBagLayout 或其他任何组合。 GroupLayout 并不是真正的“手”友好型,它确实适用于表单编辑器:P
  • 嗯好的,谢谢你的回复,我会试试其他几个:)
  • 如果您仍在尝试这样做,请发布一个完整的示例。目前尚不清楚fuelamount、fuel_input 等是什么类型的组件以及可能影响对齐的组件。但是,我还注意到,当您将对齐设置为在水平组上居中时,您并没有在垂直组上这样做 - 从您的“图表”看来,这些是您想要居中的那些。您也可以考虑使用 BoxLayout,因为它自然地将事物沿水平或垂直轴对齐。
  • 嗨 Amber,我设法通过制作上下面板并使用 GroupLayout 进行对齐和组件对齐来对其进行排序,并且效果非常好:)

标签: java swing layout alignment grouplayout


【解决方案1】:

为了克服这个问题,我最终创建了一个上下面板,它们使用 GroupLayout 对齐,然后再次使用 GroupLayout 来对齐它们对应的组件。虽然这样做可能有点不必要,但我很高兴我设法弄清楚如何仅使用 GroupLayout。

【讨论】:

    猜你喜欢
    • 2018-08-03
    • 2013-01-30
    • 2017-07-03
    • 1970-01-01
    • 1970-01-01
    • 2011-02-09
    • 2015-09-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多