import scala.swing.{ BorderPanel, Button, Label, MainFrame, SimpleSwingApplication }
import scala.swing.event.ButtonClicked

object SimpleApp extends SimpleSwingApplication {
  def top = new MainFrame {
    contents = new BorderPanel {
      var nClicks = 0

      val (button, label) = (new Button { text = "click me" },
        new Label { text = "There have been no clicks yet" })

      layout(button) = BorderPanel.Position.South
      layout(label) = BorderPanel.Position.Center
      listenTo(button)
      reactions += {
        case ButtonClicked(_) =>
          nClicks += 1
          label.text = s"There have been ${nClicks} clicks"
      }
    }
  }
}