import scala.swing._ import scala.swing.event._ object SwingBug extends SimpleSwingApplication { def top = new MainFrame { title = "Reactive App" val button = new Button { text = "Click me" } val label = new Label { text = "No clicks registered" } contents = new BoxPanel(Orientation.Vertical) { contents += button contents += label border = Swing.EmptyBorder(30, 30, 10, 30) } listenTo(button) var nClicks = 0 reactions += { case ButtonClicked(b) => nClicks += 1 println("Button clicked " + nClicks + " times") label.text = "Number of button clicks: " + nClicks println(label.text) } } }