我创建使用Scala的一个GUI应该发挥依赖于算法,但到文本字段,如一个信号。 SIN(2 * PI * 400 * T)。 该播放功能完美地工作,但问题是图形用户界面的输入。 文本字段需要的功能,并将其转换为字符串,现在我想知道是否有将字符串转换回功能的简单方法。 我正在考虑匹配输入各种有效的功能,但是我并不想限制可能的功能,我希望用户更创造
我还是比较新的斯卡拉,希望你们其中一个人有一个更好的主意。 这里是我到目前为止,它的一个基本的设置侧重于功能的代码。
object PlayApp extends SimpleGUIApplication {
def top = new MainFrame {
title = "Play Function App"
val label = new Label("Type in function to be played")
object Function extends TextField ( columns = 10)
val label2 = new Label("Type in length of time to play")
object Time extends TextField { columns = 10}
val button = new Button("Play")
contents = new BoxPanel(Orientation.Vertical) {
contents += label
contents += Function
contents += label2
contents += Time
contents += button
border = Swing.EmptyBorder(50, 50, 20, 50)
}
var f = "sin(t)"
var x = 0
listenTo(Function, Time, button)
reactions += {
case EditDone(Function) =>
f = Function.text.toString
case EditDone(Time) =>
x = Time.text.toInt
case ButtonClicked(b) =>
play(t => f.toDouble,0,x)
}
}
}