4

我刚刚将Scala升级到2.11,现在我无法导入scala.swing。我该如何从中恢复?我可以只下载一个 jar 文件或类似的简单文件吗?我希望我不必建造任何东西。

编辑:如果可能的话,该解决方案应该可以在 Eclipse 中使用,而无需从源代码构建任何东西。

4

4 回答 4

4

是一个如何为此更新依赖项的示例。

在 2.11 中,标准库的许多部分被拆分为它们自己的模块,包括 Swing 的东西。

于 2015-02-15T01:29:42.163 回答
1

我有同样的问题,但是经过一些步骤后,我成功使用了 Scala.swing。

以下是我遵循的一些步骤,希望对您有所帮助。

1)将外部jar添加到javaBuildPath(右键单击项目->属性-> javaBuildPath->添加外部Jars->添加scala.swing.x)

2)这样做之后,我遇到了 typeNotFound 错误

3)创建你想要为swing编写代码的类

4) 创建对象,在 main() 中你必须通过 new 关键字创建上面的类对象

5)这样做之后,它允许您访问 SimpleSwingApplication 的方法,因此调用 startup()。

6) 仅此而已,

如果可能有助于您理解我的意思,请考虑以下示例,

 class FirstUI  extends SimpleSwingApplication
{

       def top= new MainFrame {
       title = "GUI Program #1"
       preferredSize = new Dimension(320, 240)
       contents = new Label("Here is the contents!")

  }

}

    object First
    {
      def main(str: Array[String])
      {
            val f =new FirstUI
            f.startup(str)
      }
    }

将此文件保存为 First.scala 并运行它。希望这会对您有所帮助。

于 2017-03-07T12:46:57.577 回答
0

我在这个烂摊子上挣扎了很多。我还需要将 /usr/share/java/scala/ 中的 scala-swing.jar 和 scala-library.jar 作为外部 JAR 包含到项目中。(在属性 > Java 构建路径 > 库中)

然后 JRE 系统库也不可能只是任何可用的。例如“工作区默认值:JRE (java-1.8.0-openjdk-1.8.0.212.b04-0.fc29.x86)”不起作用,但“执行环境:JavaSE-1.8 (java-1.8.0-openjdk- 1.8.0.212.b04-0.fc29.x86_64)”确实有效。我不知道将其添加为“工作区默认”与“执行环境”有什么区别

同样至少在 Fedora 29 中,如果我没有添加“Scala 库容器”,Eclipse 会出错,尽管我已经将 scala-library.jar 作为外部 JAR。

但是在编译 scala 时出现错误:“在 plotchartlib (2.10.6) 的构建路径中找到的 scala 库版本早于 scala IDE (2.12.3) 提供的版本。设置 Scala 安装选择以匹配。”

我仍然需要做的是在属性> Java 构建路径> 订单和导出中,必须将“Scala 库容器 [2.12.3]”放在底部并在其上方放置 scala-library.jar。

我不知道为什么这么难,是因为 Fedora 29 是如何配置 Eclipse 的,但我花了 2 个工作日才让它工作。

于 2019-05-14T09:44:44.773 回答
0

只需添加scala-swing.jar到项目的依赖项中。

您可以从项目网页中检索预编译文件。在 README 文件的顶部,您有指向现有版本的蓝色图标。目前,当前版本适用于 Scala v2.11。在这个页面上,下载jar文件的链接在右边。

下载 jarfile 后,打开 eclipse 并进入项目的属性(右键单击项目根目录/属性)。在Java Build Path选项卡中,添加刚刚下载的文件的路径。

请注意,在我的情况下,我还必须添加一个scala-library.jar(在您可以从 Scala 主页下载的 zip 文件中找到)。Eclipse 中的“问题”选项卡帮助我调试了该问题。

于 2015-11-01T22:02:56.707 回答