盒子布局的问题

Rog*_*ach 1 java layout user-interface swing scala

我正在尝试使用scala.swing包为我的gui's.在此之前,我使用普通的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)
}
Run Code Online (Sandbox Code Playgroud)

至少,我希望看到按钮B左侧的按钮A.这是我看到的:

在此输入图像描述

这段代码的Java版本完全一样,所以它不是scala.swing的bug.

我究竟做错了什么?

cam*_*ckr 5

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

这就是BoxLayout的设计方式.

请参阅修复对齐问题以获得更好的解释和简单的演示,该演示允许您使用对齐来更好地理解它们的工作方式.