0

如何获取 Scala Swing BorderPanel 上特定位置的子组件?我可以放置组件。在这种特殊情况下,我想检查 BorderPanel.Position.Centre 的组件。我也对,每个位置只能有一个子组件或空值:北,东等?

4

1 回答 1

2

好吧,这layout是一个从组件到位置的地图,所以以下工作(不确定是否有更简单的方法):

import scala.swing.SimpleSwingApplication
import scala.swing.MainFrame
import scala.swing.BorderPanel
import scala.swing.Label

object BorderLayoutTest extends SimpleSwingApplication {

  def top = new MainFrame {    
    contents = new BorderPanel {

      val label = new Label("hi")

      import BorderPanel.Position._
      layout(label) = Center

      println("North: " + layout.find(_._2 == North))   //None
      println("Center: "+ layout.find(_._2 == Center))  //Some( ... )
    } 
  }  
}
于 2012-09-17T19:00:26.260 回答