`
tomorrow009
  • 浏览: 45754 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Scala GUI 之 FileChooser选择文件

阅读更多
import scala.swing.Button
import scala.swing.FileChooser
import scala.swing.FlowPanel
import scala.swing.MainFrame
import scala.swing.SimpleGUIApplication
import java.io.File
import scala.swing.event.ButtonClicked
import scala.swing.Label

object SimpleGUI extends SimpleGUIApplication {
  val chooser = new FileChooser(new File("."))
  chooser.title = "chooser"
  val button = new Button {
    text = "Choose a File"
  }
  val label = new Label {
    text = "No file selected yet."
  }
  val mainPanel = new FlowPanel {
    contents += button
    contents += label
  }
  def top = new MainFrame {
    title = "Simple GUI"
    contents = mainPanel
    
    listenTo(button)
    
    reactions += {
      case ButtonClicked(b) => {
        val result = chooser.showOpenDialog(mainPanel)
        if(result == FileChooser.Result.Approve) {
          label.text = chooser.selectedFile.getPath()
        }
      }
    }
  }
}
 
分享到:
评论

相关推荐

    使用Scala开发的带GUI界面的计算24点的工程源码

    6. **类型系统**:Scala的类型系统是其强大的特性之一。类型推断使得代码更简洁,同时类型安全可以防止运行时错误。在GUI元素和计算逻辑之间,开发者可能会利用类型系统来确保数据正确传递。 7. **面向对象编程**:...

    scala-2.12.7.msi文件

    该“scala-2.12.7.msi”文件是一个Windows安装程序,用于在计算机上安装Scala的2.12.7版本。这个版本可能包含Scala编译器、运行时环境、相关的库以及开发工具,使得开发者可以在本地环境中编写和运行Scala代码。 ...

    intellij的scala工具bin文件

    "intellij的scala工具bin文件"是指IntelliJ IDEA中用于支持Scala编程语言的特定二进制工具集合。 Scala是一种强大的静态类型编程语言,它融合了面向对象和函数式编程的特性,被广泛应用于大数据处理领域,特别是...

    scalaui:基于libui的Scala本机GUI框架

    ScalaUI 是一个基于 libui 的 GUI(图形用户界面)框架,专为 Scala 语言设计,旨在提供跨平台的本机应用程序开发能力。libui 是一个轻量级的库,它实现了简洁、原生的 GUI 组件,适用于 GTK、Cocoa 和 Win32 平台。...

    scala学习帮助文件

    这使得Scala成为构建大型企业级应用的理想选择,特别是在大数据处理领域,比如Apache Spark框架就是用Scala编写的,它提供了高效的分布式数据处理能力。 在这个学习文件中,你将找到关于Scala语言的详细解释,包括...

    Scala学习之路(一)

    ### Scala学习之路(一)—— 开发环境搭建与首个程序 #### 一、Scala简介 Scala是一种多范式编程语言,旨在实现可扩展性,并融合了面向对象编程和函数式编程的最佳特性。作为一种与Java非常相似的语言,Scala能够...

    Scala考试题1

    Scala 是一种多范式的编程语言,它融合了面向对象和函数式编程的特性。下面将详细解释题目中涉及的Scala知识点: 1. **var、val 和 def 的区别**: - `var` 定义可变变量,可以多次赋值。 - `val` 定义不可变变量...

    scala习题精选100道附带解析

    ### Scala习题精选知识点解析 #### 1. 关于与Scala进行交互的基本方式REPL的说明 - **知识点概述**:REPL(Read-Eval-Print Loop)是一种交互式的编程环境,用户可以在其中输入代码,系统立即执行并显示结果。在...

    scala sdk scala-2.12.3

    Scala SDK,全称为Scala Software Development Kit,是用于开发Scala应用程序的核心工具集。Scala是一种多范式的编程语言,融合了面向对象和函数式编程的特点,它运行在Java虚拟机(JVM)上,能够充分利用Java生态...

    scala-2.12.3|2.11.11.msi网盘下载链接

    1. **兼容性**:如果你的应用程序需要与特定版本的Java或其他Scala应用程序兼容,那么应选择与之相匹配的Scala版本。 2. **社区支持**:新版本通常会修复旧版本中的问题并提供新的功能。但是,新版本可能还没有经过...

    scala-2.11.7 msi安装包6

    总的来说,通过下载并安装“scala-2.11.7 msi”文件,Windows用户能够获得一个完整的Scala开发环境,从而开始他们的Scala编程之旅。这个过程涉及到环境变量设置、IDE集成、以及利用Scala SDK进行项目构建和开发。在...

    scala-2.12.10.zip

    这使得Scala成为处理大数据、并发和分布式计算的理想选择,尤其是在Apache Spark等框架中。 2.12.x版本的Scala致力于向后兼容,这意味着大多数2.11.x版本的代码可以无需修改直接在2.12.x上运行。然而,由于编译器和...

    scala安装文件

    - **IDE支持**:虽然可以直接在命令行使用Scala,但许多开发者选择使用IDE,如IntelliJ IDEA或Eclipse,它们提供了丰富的代码补全、调试和其他开发辅助功能。 - **依赖管理**:Scala项目通常使用SBT(Scala Build ...

    scala + mybatis 数据库查询

    - Scala的静态类型系统和强大的表达能力使其成为构建复杂应用程序的良好选择,而MyBatis以其灵活性和易用性在Java世界中占有一席之地。通过使用Scala的Java互操作性,我们可以无缝地在Scala中使用MyBatis。 - 集成...

    最好的scala学习 课件

    首先,我们从"Scala进阶之路-part01-基础.pdf"开始,这部分内容主要涵盖了Scala的基础知识。你会学习到Scala的语法结构,包括变量声明、常量、数据类型(如基本类型、引用类型、集合类型)、运算符、流程控制语句...

    解析JSON文件

    本范例是一个Scala工程,结合Java组件实现了对spark产品分析的结果json文件进行解析,将其内部的几何对象转换为记录集写入数据集里,由于Scala读写文件的效率比较高,故采用Scala与Java组件实现。

    eclipse scala 插件 离线安装包 之(二)

    在本文中,我们将深入探讨如何离线安装Eclipse Scala插件,特别关注“eclipse scala 插件 离线安装包之二”的过程。Scala是一种强大的编程语言,它结合了面向对象和函数式编程的概念,被广泛用于开发Java虚拟机(JVM...

    scala-2.11.8.rar

    5. **模式匹配和类型系统**:Scala的模式匹配和强大的类型系统是其独特之处。源码中可以看到这些特性的底层实现。 6. **Scala.js**:虽然在这个特定的压缩包中可能没有,但Scala 2.11.x版本支持Scala.js,可以将...

    scala-2.12.11.tgz

    这个"scala-2.12.11.tgz"文件是一个针对Linux操作系统的安装包,包含了Scala编程语言的版本2.12.11。Scala版本号的格式通常是主版本号.次版本号.修订号,2.12.x系列代表了Scala的一个稳定分支,提供了对Java平台的...

    Scala详细总结(精辟版++)

    Scala的强大之处在于其类型系统,通过类型推断和显式类型注解,可以编写类型安全的代码。 #### 集合 Scala提供了丰富的集合框架,包括不可变集合和可变集合,支持诸如`List`、`Set`、`Map`等多种数据结构。 #### ...

Global site tag (gtag.js) - Google Analytics