我正在使用scalas运行一个简单的scala.swing应用程序:
#!/usr/bin/env scalas
/***
scalaVersion := "2.12.6"
libraryDependencies += "org.scala-lang.modules" %% "scala-swing" % "2.1.1"
*/
import scala.swing._
object FirstSwingApp extends SimpleSwingApplication {
def top = new MainFrame {
title = "First Swing App"
contents = new Button {
text = "Click me"
}
}
}这段代码会编译并运行(在OSX 10.14上),但是没有可见的输出;进程在几秒钟后终止。我做错了什么?
发布于 2019-07-25 21:59:03
从文档判断,https://www.scala-sbt.org/release/docs/Scripts.html - scalas不像java -jar ...那样工作,也就是说,它不会在某些object中运行您的main类。
它只是像执行REPL一样执行代码,所以如果您想执行代码,请自己运行它:
#!/usr/bin/env scalas
/***
scalaVersion := "2.12.6"
libraryDependencies += "org.scala-lang.modules" %% "scala-swing" % "2.1.1"
*/
import scala.swing._
// creates object but doesn't run anything
object FirstSwingApp extends SimpleSwingApplication {
def top = new MainFrame {
title = "First Swing App"
contents = new Button {
text = "Click me"
}
}
}
FirstSwingApp.main(new Array[String](0)) // run main manually, or whatever you preferhttps://stackoverflow.com/questions/57171901
复制相似问题