2012-05-03 61 views
0

我試圖將組件放在scala中使用BoxPanel(它使用BoxLayout)擺動。 我想在組件之間添加一個空格。正常的做法是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中的BoxPanel中的元素之間的空間Swing

我還沒有找到任何合適的子類scala.swing.Component可用於此目的。 http://www.scala-lang.org/api/current/scala/swing/Component.html

在BoxPanel中的元素之間添加空間的首選方式是什麼?

回答

1

你必須將其添加到BoxPanel的同級組件就像下面的例子:

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