layoutcontainer.scala

来自「JAVA 语言的函数式编程扩展」· SCALA 代码 · 共 25 行

SCALA
25
字号
package scala.swingimport javax.swing.JComponentimport scala.collection.mutable.Map/** * A container that associates layout constraints with its children.  * See GridBagPanel for an example. */trait LayoutContainer extends Container.Wrapper {  type Constraints <: { def peer: AnyRef }  protected def constraintsFor(c: Component): Constraints  def layout: Map[Component, Constraints] = new Map[Component, Constraints] {    def -=(c: Component) { _contents -= c }    def update(c: Component, l: Constraints) { peer.add(c.peer, l.peer) }    def get(c: Component) = Swing.toOption(constraintsFor(c))    def size = peer.getComponentCount    def elements: Iterator[(Component, Constraints)] =       Iterator.range(0,size).map { c =>         val comp = Component.wrapperFor[Component](peer.getComponent(c).asInstanceOf[JComponent])        (comp, constraintsFor(comp))      }  }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?