Bien, simple pregunta: Tengo un objeto singleton que se extiende scala.swing.Panel
, y quiero que reaccione con un simple clic del mouse. Pero ... bueno, no funciona. Dado que Scala es un idioma tan nuevo, no es tan fácil encontrar información sobre problemas específicos. Tal vez puedas ayudar:reacciones de Scala Swing en un Panel extendido
import scala.swing._
import scala.swing.event._
import java.awt.{Graphics2D, Color}
object GamePanel extends Panel {
val map: TileMap = new TileMap(10, 10)({
(x, y) =>
if (x == y) new Wood
else if (x == 5) new Water
else new Grass
})
reactions += {
case MouseClicked(src, pt, mod, clicks, pops) => {
selectedTile = (pt.x/map.tw, pt.y/map.th)
println("Clicked")
repaint
}
}
var selectedTile = (0, 0)
override def paint(g: Graphics2D) = {
map.draw(g)
g.setColor(Color.red)
g.drawRect(selectedTile._1 - 1, selectedTile._2 - 1, 33, 33)
}
}
Gracias por escuchar.
Muchas gracias o tu ayuda! –