buttongroup.scala

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

SCALA
30
字号
package scala.swingimport javax.swing.{AbstractButton => JAbstractButton,Icon}import event._import scala.collection._/** * @see javax.swing.ButtonGroup */class ButtonGroup(initialButtons: Button*) {  val peer: javax.swing.ButtonGroup = new javax.swing.ButtonGroup    val buttons: mutable.Set[Button] = new mutable.Set[Button] {     def -=(b: Button) { peer.remove(b.peer) }    def +=(b: Button) { peer.add(b.peer) }    def contains(b: Button) = elements.contains(b)    def size = peer.getButtonCount    def elements: Iterator[Button] = new Iterator[Button] {      val enum = peer.getElements      def next = Component.wrapperFor[Button](enum.nextElement)      def hasNext = enum.hasMoreElements    }  }  buttons ++= initialButtons    //1.6: def deselectAll() { peer.clearSelection }  def selected: Option[Button] = buttons.find(_.selected)  def select(b: Button) { peer.setSelected(b.peer.getModel, true) }}

⌨️ 快捷键说明

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