DT大数据梦工厂 第72,73讲
王家林亲授《DT大数据梦工厂》大数据实战视频“Scala深入浅出实战经典”视频、音频和PPT下载!第72讲:Scala界面事件处理编程实战详解
百度云:http://pan.baidu.com/s/1qWsq6Jy
腾讯微云:http://url.cn/g6En3l
360云盘:http://yunpan.cn/cchw9EZAp2rKd  访问密码 05d1
本节王老师讲了scala界面的事件处理
就是当用户操作一个行为,GUI将做出一个反应。比如点击一个按钮事件。
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)
	var clicks=0
	reactions+={//reactions 是一个集合,所以这个是可以添加多个事件的。相当于一个偏函数,当用户点击按钮时触发事件,事件也可以是别的,不是button。
		case ButtonClicked(button)=>{
			click+=1//也可以加入 Actor来把事件的处理放在子线程,主线程接收处理结果。
			label.text="Clicked "+clicks+"times"
		}
	}
}
王家林亲授《DT大数据梦工厂》大数据实战视频“Scala深入浅出实战经典”视频、音频和PPT下载!第73讲:Scala界面和事件处理编程进阶实战
百度云:http://pan.baidu.com/s/1mgCb8Xa
腾讯微云:http://url.cn/cgxHaW
360云盘:http://yunpan.cn/cchcnS3ua4BJ5  访问密码 e47f
本节王老师讲了文件选择器
object GUI_Event extends SimpleSwingApplication{
	//新建一个文件选择器
	val fileChooser=new FileChooser(new File("."))
	fileChooser.title="File Chooser"
	//新建button
	val button=new Button{
		text="Choose a Filefrom local"
	}
	//新建label
	val label=new Label{
		text="No any file  selected yet."
	}
	//新建Panel
	val mainPanel=new FlowPanel{
		contents +=button
		contents +=label
	}
	def top=new MainFrame{
		title="Scala GUI Programing adbanced!!!"
		contents =mainPanel
		listenTo(button)
		reactions +={
			case ButtonClicked(b)=>{
//打开文件选择器在mainPanel中
				val result=fileChooser.showOpenDialog(mainPanel)
				if(result==FileChooser.Result.Approve){//如果选择一个文件,就显示这个文件的路径在标签中
					label.text=fileChooser.selectedFile.getPath()
				}
			}
		}
	}	
}
                    
                
                
            
        
浙公网安备 33010602011771号