第72讲:Scala界面事件处理编程实战详解学习笔记
2015-07-30 22:14
477 查看
用户在点击一个界面时,要有一定响应,响应的过程就是事件处理的过程,
要想完成一定的任务,需要以下主题:
1.界面本身
2.要有具体事件
3.有代码关注事件
4.对事件具体处理
实战代码:
import scala.swing._
import scala.swing.event._
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 BoxPanel(Orientation.Vertical) {
contents += button
contents += label
border = Swing.EmptyBorder(50,50,50,50)
}
listenTo(button) //对事件关注,监听button事件
//解除监听事件用deafTo
var clicks = 0
reactions += { //处理监听到的事件
//reaction本身是一个集合
//-=可以把事件去掉
case ButtonClicked(button) => {
clicks += 1
label.text = "Clicked" + clicks + "times"
}
}
}
}
object test {
def main (args: Array[String]) {
GUI_Panel_Layout.top
}
}
以上内容是从王家林老师DT大数据课程第67讲的学习笔记。
DT大数据微信公众账号:DT_Spark
王家林老师QQ:1740415547
王家林老师微信号:18610086859
scala第72讲视频观看链接:
http://yun.baidu.com/s/1qWsq6Jy
我的百度网盘共享内容:http://pan.baidu.com/s/1qWK9CMo
要想完成一定的任务,需要以下主题:
1.界面本身
2.要有具体事件
3.有代码关注事件
4.对事件具体处理
实战代码:
import scala.swing._
import scala.swing.event._
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 BoxPanel(Orientation.Vertical) {
contents += button
contents += label
border = Swing.EmptyBorder(50,50,50,50)
}
listenTo(button) //对事件关注,监听button事件
//解除监听事件用deafTo
var clicks = 0
reactions += { //处理监听到的事件
//reaction本身是一个集合
//-=可以把事件去掉
case ButtonClicked(button) => {
clicks += 1
label.text = "Clicked" + clicks + "times"
}
}
}
}
object test {
def main (args: Array[String]) {
GUI_Panel_Layout.top
}
}
以上内容是从王家林老师DT大数据课程第67讲的学习笔记。
DT大数据微信公众账号:DT_Spark
王家林老师QQ:1740415547
王家林老师微信号:18610086859
scala第72讲视频观看链接:
http://yun.baidu.com/s/1qWsq6Jy
我的百度网盘共享内容:http://pan.baidu.com/s/1qWK9CMo
相关文章推荐
- Java中的static静态代码块
- C++ 判断是大端存储还是小端存储
- Qt+VS2012+Win8 64Bit安装
- 身份证校验(c++实现)
- 深入理解C语言
- C++延时程序
- #142 (div.2) A. Dragons
- 实例讲解C++中lambda表达式
- #Exception#Cpp引入异常的原因、关于异常的吐槽以及何时使用异常
- Readactor: Practical Code Randomization Resilient to Memory Disclosure阅读笔记(二)
- myFFDrop源代码(VB.NET)
- PHP var_export 与 var_dump
- 最小二乘法曲线拟合+C代码
- spring mvc +jdbctemplate 返回多表查询List<Bean>
- 使用Python模块webbrowser实现自动打开网页/刷新网页
- Python中的类(下)
- 《编程之美: 求二叉树中节点的最大距离》的另一个解法
- eclipse启动时jdk环境变量的问题及解决办法
- ASP.NET MVC路径引用总结
- 高效率的安排见面会问题