第73讲:Scala界面和事件处理编程进阶实战
今天学习了王家林老师讲解的scala编程的第73讲,主要是文件选择器的使用。让我们通过代码来亲身体验一下。
import scala.swing._
import java.io.File
import scala.swing.event.ButtonClicked
import scala.swing.Label
object GUI_Event extends SimpleSwingApplication{
val fileChooser = new FileChooser(new File("."))//定义文件选择器,路径为本地文件所在路径
fileChooser.title="File Chooser"
val button = new Button{
text="Choose a File from local"
}
val label =new Label{
text="No any files selected yet."
}
val mainPanel = new FlowPanel{//定义主框架
contents += button
contents += label
}
def top = new MainFrame{
title = "Scala GUI Programming advanced!"
contents = mainPanel
listenTo(button)//对button进行侦听
reactions += {
case ButtonClicked(b)=>{
val result = fileChooser.showOpenDialog(mainPanel)//文件选择器
if(result==FileChooser.Result.Approve){
label.text=fileChooser.selectedFile.getPath()
}
}
}
}
OK,关于主框架、按钮和label就不讲了,前文提到过。那么让我们主要来看一下文件选择器。
val fileChooser = new FileChooser(new File("."))
这里就定义了一个文件选择器,它和button一样,是一个组件。
当我们通过侦听button,通过点击触发条件时,文件选择器便会跳出。
case ButtonClicked(b)=>{
val result = fileChooser.showOpenDialog(mainPanel)
我们通过文件选择器来选择文件,并在选择完成后,改变label的文字显示为选择的文件的路径。
if(result==FileChooser.Result.Approve){
label.text=fileChooser.selectedFile.getPath()
信息来源于 DT大数据梦工厂微信公众账号:DT_Spark
关注微信账号,获取更多关于王家林老师的课程内容
王老师QQ:1740415547
微信号:18610086859
第73讲:Scala界面和事件处理编程进阶实战的更多相关文章
- Spark GraphX宝刀出鞘,图文并茂研习图计算秘笈与熟练的掌握Scala语言【大数据Spark实战高手之路】
Spark GraphX宝刀出鞘,图文并茂研习图计算秘笈 大数据的概念与应用,正随着智能手机.平板电脑的快速流行而日渐普及,大数据中图的并行化处理一直是一个非常热门的话题.图计算正在被广泛地应用于社交 ...
- Scala界面事件处理编程实战详解.
今天学习了一个Scala界面事件处理编程,让我们从代码出发. import scala.swing._import scala.swing.event._ object GUI_Panel exten ...
- 第71讲:Scala界面Panel、Layout实战详解
今天学习了王家林老师scala讲座的第71讲,scala界面编程panel实战.让我们一起来看一下. 信息来源于 DT大数据梦工厂微信公众账号:DT_Spark 关注微信账号,获取更多关于王家林老师的 ...
- Scala函数式编程进阶
package com.dtspark.scala.basics /** * 函数式编程进阶: * 1,函数和变量一样作为Scala语言的一等公民,函数可以直接赋值给变量: * 2, 函数更长用的方式 ...
- Scala 中的函数式编程基础(一)
主要来自 Scala 语言发明人 Martin Odersky 教授的 Coursera 课程 <Functional Programming Principles in Scala>. ...
- Scala函数与函数式编程
函数是scala的重要组成部分, 本文将探讨scala中函数的应用. scala作为支持函数式编程的语言, scala可以将函数作为对象即所谓"函数是一等公民". 函数定义 sca ...
- (数据科学学习手札48)Scala中的函数式编程
一.简介 Scala作为一门函数式编程与面向对象完美结合的语言,函数式编程部分也有其独到之处,本文就将针对Scala中关于函数式编程的一些常用基本内容进行介绍: 二.在Scala中定义函数 2.1 定 ...
- Scala实战高手****第12课:Scala函数式编程进阶(匿名函数、高阶函数、函数类型推断、Currying)与Spark源码鉴赏
/** * 函数式编程进阶: * 1.函数和变量一样作为Scala语言的一等公民,函数可以直接赋值给变量 * 2.函数更常用的方式是匿名函数,定义的时候只需要说明输入参数的类型和函数体即可,不需要名称 ...
- 用scala的actor并发编程写一个单机版的WorldCount
前言:最近一段时间比较忙,也是比较懒了吧,好长时间没写博客了,新的一年到来,给自己一个小目标,博客坚持写下去,分享一下这历程!废话不多说,开始正题咯(希望大家喜欢!) 首先这算是一个scala程序的入 ...
随机推荐
- docker 运行 elasticsearch + kibana
一.elasticsearch的安装 1.从官网上拉取 elasticsearch 的镜像 docker pull elasticsearch:5.6.11docker images 2.运行容器 m ...
- fedora25的nfs文件系统搭建
关于NFS的原理介绍可以参考这篇文章:http://blog.51cto.com/atong/1343950 1> nfs服务端 安装nfs工具包和rpcbind包 dnf install nf ...
- 浅谈多重检验校正FDR
浅谈多重检验校正FDR Posted: 四月 12, 2017 Under: Basic By Kai no Comments 例如,在我们对鉴定到的差异蛋白做GO功能注释后,通常会计算一个p值 ...
- UI设计技术分享:教你几个设计技巧让老板对你的设计赞不绝口
我们做任何设计都离不开大小与重复的运用,这样能使我们的设计更加理性和科学,经得起推敲,那么我们一起来探讨下如何在产品设计中运用这一方法. 为什么大的物体更吸引眼球 ▲如上图所示,a球会比右边b球 ...
- linux-ubuntu 下R无法安装rjava模块的原因及解决方案
错误信息: 没有 /usr/lib/jvm/default-java/jre/bin/java 原因: R找不到java作为依赖 解决方案: (1) 如果你没有安装java,请先安装java. (2) ...
- 如何在Eclipse下安装SVN插件——subclipse
如何在Eclipse下安装SVN插件——subclipse | 浏览:2799 | 更新:2014-09-20 22:39 1 2 3 4 5 6 分步阅读 版本控制是开发人员必不可少的工具,而SVN ...
- Servlet 知识点 中文乱码的本质与解决
本质原因:在servlet中出现中文乱码的原因编码和解码采用的不是一个编码表或者两个编码表不是兼容 例如UTF-8编码.GBK编码都可以读取中文,那么如果采用UTF-8编码保存文件,但是采用GBK编码 ...
- 使用xtrabackup备份innodb引擎的数据库
innodb引擎的数据库可以使用mysqldump备份,如果表很大几十个G甚至上百G,显示用mysqldump备份会非常慢.然后使用xtrabackup 可以很快的在线备份innodb数据库.Inno ...
- 自学java坎坷之路——20155312张竞予
20155312 2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 第一周并没有在课堂上对教材内容进行学习,学习内容概括如下 课程分数构成,其中包括课堂测验(每 ...
- 使用tensorflow下的GPU加速神经网络训练过程
下载CUDA8.0,安装 下载cuDNN v5.1安装.放置环境变量等. 其他版本就不装了.不用找其他版本的关系. 使用tensorflow-gpu1.0版本. 使用keras2.0版本. 有提示的. ...