盒子布局的问题

时间:2011-10-15 13:59:17

标签: java swing user-interface scala layout

我正在尝试为我的gui使用scala.swing包。在此之前,我使用普通的GroupLayout(手写它:),但scala方式似乎更好。我遇到了一些问题 - 我喜欢BoxLayout,但是当我尝试在其中添加几个窗格,并尝试指定不同的水平对齐时,我得到了一些奇怪的东西。

以下是代码:

new Frame {
  contents = new BoxPanel(Orientation.Vertical) {
    contents += new Button("A") {
      xLayoutAlignment = 1.0f
    }
    contents += new Button("B")
    size = (200, 200)
  }
  size = (200, 200)
  visible = true
  peer.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE)
}

至少,我希望在按钮B的左侧看到按钮A。这就是我所看到的:

enter image description here

此代码的Java版本完全相同,因此它不是scala.swing错误。

我做错了什么?

1 个答案:

答案 0 :(得分:5)

  

并尝试指定不同的水平对齐,我得到一些奇怪的东西。

这就是BoxLayout的设计方式。

请参阅Fixing Alignment Problems以获得更好的解释和一个简单的演示,它允许您使用对齐方式来更好地了解它们的工作原理。