我正在尝试为我的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
。这就是我所看到的:
此代码的Java版本完全相同,因此它不是scala.swing错误。
我做错了什么?
答案 0 :(得分:5)
并尝试指定不同的水平对齐,我得到一些奇怪的东西。
这就是BoxLayout的设计方式。
请参阅Fixing Alignment Problems以获得更好的解释和一个简单的演示,它允许您使用对齐方式来更好地了解它们的工作原理。