第72讲 Scala界面事件处理编程

GUI 设计中,事件处理是非常重要的一块,用来与用户人机交互、处理业务逻辑等。

以下是scala 事件编程入门实例,仅供参考。

import scala.swing.MainFrame
import scala.swing.Button
import scala.swing.Label
import scala.swing.Orientation
import scala.swing.BoxPanel
import scala.swing._
import scala.swing.event.ButtonClicked

object GUI_Panel_Layout extends SimpleSwingApplication{
  def top = new MainFrame{
    title = "Second GUI"
    val button = new Button{
      text = "Scala"
    }
    val label = new Label {
      text = "Here is Spark!!"
    }

    contents = new GridPanel(2,1){
      contents += button
      contents += label
      border = Swing.EmptyBorder(50,50,50,50)
    }
    listenTo(button)

    var clicks  = 0
    reactions += {
      case ButtonClicked(button) => {
        clicks +=1
        label.text = "Clicked " + clicks + " times"
      }
    }
  }
}

scala 事件处理步骤如下:

第一步: 注册监听的对象。

//监听 button对象
listenTo(button)

第二部:对监听到的事件进行处理
如:

      case ButtonClicked(button) => {
        clicks +=1
        label.text = "Clicked " + clicks + " times"
      }

其过程大致如下:

MainFrame 对象监听 button 对象,当对button进行操作,如单击、双击等事件处理时,事件传播到MainFrame 对象时,MainFrame 对象轮询其 reactions 集合,进行相应处理。

参考文档
百度网盘:http://pan.baidu.com/share/home?uk=4013289088#category/type=0
微信号:18610086859
DT大数据微信公众账号:DT_Spark
DT大数据梦工厂交流群:462923555/418110145/437123764

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值