我在各种家庭项目中使用Scala,我遇到过一个涉及简单画布绘制的项目,其中包含一些基本的输入控件,如按钮和文本框。我知道如何使用Swing,但我开始怀疑我是否在浪费时间学习这项技术。在Scala中,在HTML5画布上绘制最简单的方法是什么,也许可以添加一些按钮控件进行输入。。这是我需要开始学习Play框架的地方吗?做任何从HTML/Javascript抽象出来的东西(我也不太清楚。)
我不明白Scala的官方策略是什么,因为Swing库即将退役。如果我更清楚这是什么的话,我想朝着正确的方向提高我的技能。
感谢
您应该考虑Scala.js,Scala-to-JavaScript编译器。它将您的Scala代码编译为JavaScript,因此您可以直接在浏览器中运行它。
Scala Js Fiddle是在浏览器中尝试这一点的好方法。
例如,您可以执行以下操作(假设类路径上有DOM库):
import org.scalajs.dom
import org.scalajs.dom.html
import scala.scalajs.js
object CanvasExample extends js.JSApp {
def main(): Unit = {
val canvas = dom.document
.getElementById("myCanvas")
.asInstanceOf[html.Canvas]
val ctx = canvas.getContext("2d")
.asInstanceOf[dom.CanvasRenderingContext2D]
ctx.fillStyle = "red"
ctx.fillRect(0, 0, 255, 255)
}
}
《实践Scala.js》一书更为详细,有一个很好的介绍。