在Eclipse中如何将Swing与Scala 2.11结合使用?

在Eclipse中如何将Swing与Scala 2.11结合使用?,scala,scala-swing,Scala,Scala Swing,我刚刚将Scala升级到2.11,现在无法导入Scala.swing。我如何从中恢复?我可以下载一个jar文件,或者类似的简单文件吗?我希望我不必建造任何东西 编辑:如果可能的话,该解决方案应该可以在Eclipse中使用,而无需从源代码构建任何内容。是如何为此更新依赖项的示例 在2.11版本中,标准库的许多部分被拆分为各自的模块,包括Swing组件。只需将scala Swing.jar添加到项目的依赖项中即可 您可以从中检索预编译的文件。在自述文件的顶部,有指向现有版本的蓝色图标。现在,它是针对

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

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

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


在2.11版本中,标准库的许多部分被拆分为各自的模块,包括Swing组件。

只需将
scala Swing.jar
添加到项目的依赖项中即可

您可以从中检索预编译的文件。在自述文件的顶部,有指向现有版本的蓝色图标。现在,它是针对Scala v2.11的。在这个页面上,下载jar文件的链接在右边

下载JAR文件后,打开eclipse并访问项目的属性(右键单击项目根/属性)。在Java构建路径选项卡中,将路径添加到刚下载的文件中


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

我也有同样的问题,但在遵循一些步骤后,我成功地使用了Scala.swing

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

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

2) 做了这件事之后,我发现了错误

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并运行它。希望这将对您有所帮助。

我为这一混乱局面挣扎了很多。我还需要将/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.x8664)”起作用。我不知道将其添加为“工作区默认”与“执行环境”有什么区别

至少在Fedora29中,如果我没有添加“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个工作日才让它工作。

你是如何构建scala项目的?我正在Windows 7上使用scala IDE(Eclipse),build 4.0.0 vfinal(Luna),Java 1.8。这篇文章看起来正是我需要的,如果我能理解的话。不幸的是,我一直像使用Java一样使用Scala,也就是说,让Eclipse为我处理所有的构建。如果我能理解的话,那篇文章看起来就是我需要的。不幸的是,我一直像使用Java一样使用Scala,也就是说,让Eclipse为我处理所有的构建。我认为这对我来说意味着,在我学习SBT、Maven和其他一些我不感兴趣的IT级工具之前,我不能再将Scala与Swing结合使用。这是一个遗憾,因为我更喜欢Scala而不是Java,但是Java中的Swing“很管用”。我不熟悉Eclipse如何进行依赖关系管理,但本文所说的是,您需要在Scala Swing库上添加外部依赖关系,就像在Java中添加外部库上的依赖关系一样。我想这篇文章只讨论了正常的构建系统,因为通常使用IDE项目的人都会让IDE为他们进行依赖关系管理。很好,谢谢!是的,我所需要做的就是在Scala发行版中找到jar文件并将其添加到构建路径中。现在我对修改配置文件和使用SBT的所有事情感到困惑,觉得自己很傻。严肃的Scala用户(我并不自称)不使用IDE吗?无论如何,这就是我重新运行旧程序所需要的全部线索,非常感谢!通常情况下,IDE是可以使用的,但与其使用IDE的本机构建工具(这对于持续集成之类的事情来说很不方便——您不一定希望构建服务器启动Eclipse只是为了测试您的程序),不如使用外部构建工具。我认为SBT和Maven是Scala最常见的东西,尽管我听说过Gradle的优点。注意,这并不排除使用IDE!IntelliJ和Eclipse都很乐意导入一个Maven项目。