0

Scala Swing BorderPanelの特定の位置の子コンポーネントを取得するにはどうすればよいですか?コンポーネントを配置できます。この特定のケースでは、BorderPanel.Position.Centreのコンポーネントを確認したいと思います。また、北、東などの各位置に1つの子コンポーネントまたはヌルしか存在できないというのは正しいですか?

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 に答える