Scala Swing中BoxPanel内的元素之间的空间

时间:2012-05-03 12:39:01

标签: swing scala layout

我正在尝试使用BoxPanel(使用BoxLayout)将组件放在scala Swing中。 我想在组件之间添加一个空格。这样做的正常方法是javax.component.Box.createVerticalStrut(...),但是我无法将此方法调用创建的组件添加到BoxPanel中 - 编译器会在scala.swing.Component找到java.awt.Component时抱怨scala.swing.Component

正如指出的那样 http://scala-programming-language.1934581.n4.nabble.com/How-to-add-a-plain-AWT-Component-to-a-Scala-Swing-container-td2325998.html,Scala不支持awt组件。

我没有找到可用于此目的的任何合适的{{1}}子类。 http://www.scala-lang.org/api/current/scala/swing/Component.html

BoxPanel中元素之间添加空格的首选方法是什么?

1 个答案:

答案 0 :(得分:1)

您必须将其添加到BoxPanel的对等组件中,如下例所示:

new BoxPanel(Orientation.Vertical) {
    contents += new MyButton()
    peer.add(Box.createVerticalStrut(2))
    contents += new MyComponent()
}