Eh bien, question simple: j'ai un objet singleton qui s'étend scala.swing.Panel
, et je veux le faire réagir sur un simple clic de souris. Mais ... eh bien, ça ne marche pas. Depuis Scala est un nouveau langage, trouver des informations sur des problèmes spécifiques n'est pas si facile. Peut-être que vous pouvez aider:Scala Swing réactions dans un panneau étendu
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)
}
}
Merci d'avoir écouté.
Merci beaucoup ou votre aide! –