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)


関連記事

TOP

Last updated♪2010/10/20