我开始使用SBT使用Swing开发Scala应用程序。我发现我需要一个开头的两个依赖项,所以这是scala-swing和javax.swing.SwingUtilities。 我一直在搜索网络,maven存储库和github,但stil找不到,javax.swing包去了哪里。 到目前为止,我在Maven Repos中找到了javax,但由于某种原因,javax.swing没有列在那里。
我尝试将javax依赖项添加到Build.scala:
val javax = "javax" % "javaee-api" % "7.0"
SBT下载了几个软件包。然后我启动了终端:
scala> import javax.swing.SwingUtilities
import javax.swing.SwingUtilities
scala> SwingUtilities.invokeLater()
<console>:9: error: not enough arguments for method invokeLater: (x$1: Runnable)Unit.
Unspecified value parameter x$1.
SwingUtilities.invokeLater()
^
这是从sbt项目启动的scala控制台。如您所见,导入成功,控制台知道invokeLater()方法。但是IntelliJ Idea仍然没有,它将javax.swing标记为无法解析,尽管已经下载了这些包。 我完全被困在这里了。
答案 0 :(得分:3)
javax.swing
是任何标准Java SE安装的一部分(请参阅http://docs.oracle.com/javase/6/docs/api/ - 您有SwingUtilities
),因此无需添加依赖项。你只需要scala-swing依赖:
libraryDependencies += "org.scala-lang" % "scala-swing" % scalaVersion.value
如果IntelliJ IDEA没有看到javax.swing
,您可能尚未定义“SDK”。转到文件 - &gt;项目结构 - &gt;平台设置 - &gt;软件开发工具包。在那里你应该至少有一个条目,例如Java 1.6的“1.6”或Java 1.7的“1.7”。如果没有,请按“+”添加一个,并找到您要使用的版本的相应Java主目录(取决于您的操作系统)。