今天学习了王家林老师讲解的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界面和事件处理编程进阶实战的更多相关文章

  1. Spark GraphX宝刀出鞘,图文并茂研习图计算秘笈与熟练的掌握Scala语言【大数据Spark实战高手之路】

    Spark GraphX宝刀出鞘,图文并茂研习图计算秘笈 大数据的概念与应用,正随着智能手机.平板电脑的快速流行而日渐普及,大数据中图的并行化处理一直是一个非常热门的话题.图计算正在被广泛地应用于社交 ...

  2. Scala界面事件处理编程实战详解.

    今天学习了一个Scala界面事件处理编程,让我们从代码出发. import scala.swing._import scala.swing.event._ object GUI_Panel exten ...

  3. 第71讲:Scala界面Panel、Layout实战详解

    今天学习了王家林老师scala讲座的第71讲,scala界面编程panel实战.让我们一起来看一下. 信息来源于 DT大数据梦工厂微信公众账号:DT_Spark 关注微信账号,获取更多关于王家林老师的 ...

  4. Scala函数式编程进阶

    package com.dtspark.scala.basics /** * 函数式编程进阶: * 1,函数和变量一样作为Scala语言的一等公民,函数可以直接赋值给变量: * 2, 函数更长用的方式 ...

  5. Scala 中的函数式编程基础(一)

    主要来自 Scala 语言发明人 Martin Odersky 教授的 Coursera 课程 <Functional Programming Principles in Scala>. ...

  6. Scala函数与函数式编程

    函数是scala的重要组成部分, 本文将探讨scala中函数的应用. scala作为支持函数式编程的语言, scala可以将函数作为对象即所谓"函数是一等公民". 函数定义 sca ...

  7. (数据科学学习手札48)Scala中的函数式编程

    一.简介 Scala作为一门函数式编程与面向对象完美结合的语言,函数式编程部分也有其独到之处,本文就将针对Scala中关于函数式编程的一些常用基本内容进行介绍: 二.在Scala中定义函数 2.1 定 ...

  8. Scala实战高手****第12课:Scala函数式编程进阶(匿名函数、高阶函数、函数类型推断、Currying)与Spark源码鉴赏

    /** * 函数式编程进阶: * 1.函数和变量一样作为Scala语言的一等公民,函数可以直接赋值给变量 * 2.函数更常用的方式是匿名函数,定义的时候只需要说明输入参数的类型和函数体即可,不需要名称 ...

  9. 用scala的actor并发编程写一个单机版的WorldCount

    前言:最近一段时间比较忙,也是比较懒了吧,好长时间没写博客了,新的一年到来,给自己一个小目标,博客坚持写下去,分享一下这历程!废话不多说,开始正题咯(希望大家喜欢!) 首先这算是一个scala程序的入 ...

随机推荐

  1. PopupWindow与Edittext结合使用所遇到的坑

    PopupWindow与Edittext结合使用一起实现目的:既可以编辑输入想要的内容,还可以通过下拉列表来实现内容的选择. 我就是这样的一个目的,结果很简单的目的却遇到了很大的坑,下面我将把我遇到的 ...

  2. __PRETTY_FUNCTION__, __FUNCTION__, __func__

    __PRETTY_FUNCTION__, __FUNCTION__, __func__这三者的区别是什么? http://stackoverflow.com/questions/4384765/wha ...

  3. 爬取掌阅app免费电子书数据

    主要介绍如何抓取app数据及抓包工具的使用,能看到这相信你已经有爬虫基础了 编不下去了,主要是我懒,直接开干吧! 一.使用环境和工具 windows + python3 + Jsonpath + Ch ...

  4. 解决maven update project 后项目jdk变成1.5的问题

    一.问题描述 在Eclipse中新建了一个Maven工程, 然后更改JDK版本为1.7, 结果每次使用Maven > Update project的时候JDK版本都恢复成1.5. 二.原因分析 ...

  5. 数据库之mysql练习

    建表 部门表 #DROP IF EXISTS TABLE DEPT; CREATE TABLE DEPT( DEPTNO int PRIMARY KEY,##部门编号 DNAME VARCHAR(14 ...

  6. 【RabbitMQ】 Java简单的实现RabbitMQ

    准备工作 1.安装RabbitMQ,参考[RabbitMQ] RabbitMQ安装 2.新建Java项目,引入RabbitMQ的Maven依赖 <dependency> <group ...

  7. Git工具和GitHub的使用

    一.Git工具的安装 1)centos系统下安装 1.1)查看环境 [root@gitlab ~]# rpm -qa centos-release centos-release--4.1708.el7 ...

  8. Python之字符串基本操作

    #!/usr/bin/env python#-*-coding utf8-*-#Author:caojininfo = { 'stu1001': 'caojin', 'stu1002': 'zhaom ...

  9. delphi 中如何处理“幽灵”、“熔断”?(转载)

    原始连接:http://dannywind.nl/delphi/meltdown-spectre-and-delphi/ Meltdown, Spectre and Delphi Don’t pani ...

  10. Enjoy Markdown!

    有一个神奇的语言,比HTML简单,它巧妙地将内容与格式结合在一起,它就是Markdown! 下面是一个用C语言写的四则运算小测试~ #include <stdio.h> #include ...