0

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

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

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

4

1 回答 1

2

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

new BoxPanel(Orientation.Vertical) {
    contents += new MyButton()
    peer.add(Box.createVerticalStrut(2))
    contents += new MyComponent()
}
于 2012-05-27T14:25:44.433 回答