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

来源:互联网 发布:心算除法的快速计算法 编辑:程序博客网 时间:2024/06/07 10:05

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

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

import scala.swing.MainFrameimport scala.swing.Buttonimport scala.swing.Labelimport scala.swing.Orientationimport scala.swing.BoxPanelimport scala.swing._import scala.swing.event.ButtonClickedobject 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

0 0
原创粉丝点击