scala/ScalaBook/chapter-06/vv.scala
import java.awt.{Dimension, Graphics, Point}
import scala.swing.{BorderPanel, MainFrame, Panel, SimpleGUIApplication}
import scala.swing.event.{MouseClicked, WindowClosed}
object HandleDoubleClick extends SimpleGUIApplication {
val panel:Panel = new BorderPanel {
var points:List[Point] = List()
preferredSize = (300, 200)
listenTo(Mouse.clicks)
reactions += {
case MouseClicked(_, p, _, 2, _) => {
points = p::points
repaint
}
}
override def paintComponent(g:Graphics):Unit = {
super.paintComponent(g)
g.clearRect(0, 0, size.width, size.height)
for (val p <- points.reverse) {
g.drawString("(%d,%d)".format(p.x, p.y), p.x, p.y)
}
}
}
def top = new MainFrame {
title = "handle double click"
location = new Point(100, 100)
contents = panel
}
}