私はreactivexの初心者で、scala-swingで使用しようとしています。
私のコードは非常に単純ですが、動作しません:
import rx.lang.scala.Observable
import scala.swing.{Frame, MainFrame, SimpleSwingApplication, TextField}
object HelloReactiveX extends SimpleSwingApplication {
val input = new TextField()
override def top: Frame = new MainFrame {
title = "Hello, reactivex"
contents = input
}
val stream = Observable[String] { subscriber =>
println("before input.subscribe")
input.subscribe {
case _ => {
println("input changed: " + input.text)
subscriber.onNext(input.text)
}
}
println("after input.subscribe")
}
stream.subscribe(t => println("###: " + t))
}
依存関係は次のとおりです。
"org.scala-lang.modules" %% "scala-swing" % "1.0.1",
"io.reactivex" %% "rxscala" % "0.25.0",
奇妙なことに、コンソールには何も表示されません!
私のコードに何か問題がありますか?
PS: ライブ プロジェクトはこちらhttps://github.com/freewind/scala-swing-demo/blob/fc79c5b65e6fecc21d3894888d336d8f5204f62e/src/main/scala/scalaswing/HelloReactiveX.scala