4
私はパネルで簡単なアプリケーションを持っています。私はそれをクリックすると一時停止して再描画したいと思います。私の知る限り、私はここに再帰的な何もしていないよ言うことができるように再帰値には型が必要です - Scala Swing
error: recursive value repainter needs type
val r: Boolean = repainter.isRunning
:
object ModulusPatterns extends SimpleSwingApplication {
var delay_ms = 200
def top = new MainFrame {
contents = panel
}
val panel = new Panel {
override def paintComponent(g: Graphics2D) { /* draw stuff */ }
listenTo(mouse.clicks)
reactions += {
case e: MouseClicked => {
val r: Boolean = repainter.isRunning
if (r) repainter.stop() else repainter.start()
}
}
}
val repainter = new Timer(delay_ms, new ActionListener {
def actionPerformed(e: ActionEvent) {
panel.repaint
}
})
repainter.start()
}
私はval r
定義行でコンパイル・エラーが発生します。バグですか?回避策はありますか?
私は 'panel'または' repainter'のいずれかのタイプを指定する必要があるようです。コンパイラは問題が 'val r = ...'行にあると私に少し混乱させました。私はそれがここでタイプ自体を推論することができないことに驚いています。 –