scalafx入门?

时间:2015-11-13 19:23:21

标签: scalafx

我是一个偶然的Scala用户;我使用基于Eclipse的Scala IDE,我从来不需要知道maven或sbt。我想学习scalafx,但所有说明都是针对maven的。在Scala IDE中,Scala无法识别我的导入。有人能告诉我如何让IDE识别jar文件吗?

我有

  • Scala IDE 4.2.0-vfinal-2015-09-25T11:10:29Z-Typesafe
  • scalafx_2.12.0-M3-8.0.60-R9.jar
  • JavaSE 1.8
  • Scala Library容器2.11.7

我尝试将scalafx jar添加到我的Java构建路径(Project-> Properties没有Scala构建路径),但这不起作用,所以我不知道是什么别的尝试。

提前感谢!

// -----不是答案,评论太久了,抱歉-----

我很欣赏以下事实:如果我是一位认真的Scala开发人员,我应该学习Maven和SBT。但我不是。

在过去的几年里,我教过“编程范式”课程。"本学期我教过Prolog,Clojure,Haskell,Elm,以及一些Forth和REBOL。和过去一样,我以Scala结尾,因为我认为它汇集了其他语言中的许多想法,并且将成为Java的一个有价值的继承者。根据我的阅读,scalafx看起来很容易使用,最后一项任务是使用scalafx进行GUI分配会很不错。

对于任何编程语言,外部因素 - IDE,等同物,测试框架,支持组等 - 至少与语言本身一样重要。鉴于课程中已有的材料数量,我明确没有涵盖任何这些外部因素,对于任何语言。

由于安装scalafx显然不像在Eclipse中添加jar文件那样简单(我的学生已经使用过),在我的情况下,学习SBT并花费额外的课堂时间来教学它是不值得的。

也许明年scalafx - 或者,我猜,Scala IDE - 已经成熟到可以在我的课程中使用它。

感谢大家澄清情况。

2 个答案:

答案 0 :(得分:1)

这可能不是您想要的答案,但我建议您选择 Maven SBT - 最好是后者,因为它的目标是< em> Scala 和 Scala 用户。原因很简单:两个系统都会以非常简单的方式自动管理您的依赖项。

如果你决定手动管理依赖项,那么 - 迟早 - 你将会走向一个痛苦的世界。例如, ScalaFX 可能有自己的依赖项,您必须在类路径上下载和安装它们,它们可能有自己的依赖项等等。

学习SBT可能是一项挑战,但做简单项目也非常简单。例如,以下SBT文件(复制到项目根目录中名为build.sbt的文件)是 ScalaFX 应用程序的最小值:

name := "myproject"

version := "0.1-SNAPSHOT"

scalaVersion := "2.11.7"

libraryDependencies += "org.scalafx" %% "scalafx" % "8.0.60-R9"

确保您使用的是 Java 8 的最新版本(如果您使用,则需要 ScalaFX 2) Java 7)。

此外,您可能希望使用 Scala 插件尝试 JetBrain 的免费社区版 IntelliJ IDEA Eclipse 的替代方案。 IntelliJ 确实支持 Scala SBT

更新:另外,我刚刚注意到您拥有 Scala 2.12版本的 ScalaFX ,但您正在使用 Scala 2.11编译器。不幸的是,每个版本的编译器都需要匹配的 Scala 库代码副本。这是使用 SBT 的另一个原因。 : - )

答案 1 :(得分:0)

我一直在与学生一起使用ScalaFX大约一年,无论是从命令行还是在Eclipse内部。我既不使用sbt也不使用Maven来为学生们提供更简单的工作。我构建了一个JAR文件,非常类似于您拥有的文件,并且可以从命令行使用-cp或将其添加到Eclipse中的构建路径(作为外部JAR)。这两种方法对我都很好。我创建并对象并扩展scalafx.application.JFXApp。这会运行并弹出一个窗口。这将有助于更多地了解它是如何工作的。是不是因为ScalaX的元素没有找到,或者在编译后没有运行它会编译?

我还要注意,在撰写此答案时,ScalaFX尚未适用于处于M4阶段的Scala 2.12。