Scala #041: ButtonClicked
|中級篇|
Java.use(better, src=Scala) # ソースコードの歩き方《中級篇》
ソースコードの歩き方《Scala2.8.0》
《著》小粒ちゃん@湘南組、小粒ちゃん@博多組《監修》小泉ひよ子とタマゴ倶楽部
第1版♪2010/07/14
|関連記事|
Scala #041: ButtonClicked
》作業中です《
■ ボタンを選択する
30: for (e <- items.toArray) { 31: contents += new Button(e) { 32: Command.listenTo(this) 33: } 34: }
ボタンを選択(クリック)すると、Command が Button に呼応します。
50: object Command extends Publisher { 51: reactions += { 52: case ButtonClicked(source) => 53: val value = source.text 54: update(value) 55: } 56: }ボタンをクリックすると、イベント ButtonClicked が発生するので、それに反応する処理を記述します。
@
22 abstract class AbstractButton extends Component with Action.Trigger.Wrapper with Publisher { 23 override lazy val peer: JAbstractButton = new JAbstractButton with SuperMixin {} ... 43 peer.addActionListener(Swing.ActionListener { e => 44 publish(ButtonClicked(AbstractButton.this)) 45 })
14 case class ButtonClicked(override val source: AbstractButton) extends ActionEvent(source)